{
  "contractName": "WitnetPriceFeedsDefault",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetOracle",
          "name": "_wrb",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "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"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": 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": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "WitnetFeedDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "WitnetFeedSettled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "solver",
          "type": "address"
        }
      ],
      "name": "WitnetFeedSolverSettled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "origin",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witnetQueryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witnetQueryEvmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "witnetQuerySLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetFeedUpdateRequested",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "origin",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witnetQueryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witnetQueryReward",
          "type": "uint256"
        }
      ],
      "name": "WitnetFeedUpdateRequested",
      "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": "WitnetPriceSolverDeployed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "witnetSLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponse",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackGas",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponseDelivered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackActualGas",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "evmCallbackRevertReason",
          "type": "string"
        }
      ],
      "name": "WitnetQueryResponseDeliveryFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryRewardUpgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "sla",
          "type": "tuple"
        }
      ],
      "name": "WitnetRadonSLA",
      "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": [],
      "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": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witnet",
      "outputs": [
        {
          "internalType": "contract WitnetOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "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": [],
      "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 Witnet.RadonSLA",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateUpdateBaseFee",
      "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": "lastValidResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "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": "latestUpdateRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "gasCallback",
              "type": "uint24"
            },
            {
              "internalType": "uint72",
              "name": "evmReward",
              "type": "uint72"
            },
            {
              "internalType": "bytes",
              "name": "witnetBytecode",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "witnetRAD",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint8",
                  "name": "committeeSize",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "witnessingFeeNanoWit",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetV2.RadonSLA",
              "name": "witnetSLA",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Request",
          "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": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponseStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "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.RadonDataRequestMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "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": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval[]",
          "name": "_retrievals",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "",
          "type": "address"
        }
      ],
      "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": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "updateSLA",
          "type": "tuple"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_usedFunds",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "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": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "defaultSLA",
          "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 WitnetRequest",
          "name": "request",
          "type": "address"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "internalType": "contract WitnetRequestTemplate",
          "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": "contract IWitnetPriceSolver",
          "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": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "timestamp",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum WitnetV2.ResponseStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitnetPriceSolver.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4[]",
          "name": "feedIds",
          "type": "bytes4[]"
        }
      ],
      "name": "latestPrices",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "timestamp",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum WitnetV2.ResponseStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitnetPriceSolver.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": "_solver",
          "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.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetOracle\",\"name\":\"_wrb\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":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\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"WitnetFeedDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"WitnetFeedSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"}],\"name\":\"WitnetFeedSolverSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryEvmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetQuerySLA\",\"type\":\"tuple\"}],\"name\":\"WitnetFeedUpdateRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witnetQueryReward\",\"type\":\"uint256\"}],\"name\":\"WitnetFeedUpdateRequested\",\"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\":\"WitnetPriceSolverDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"name\":\"WitnetQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackGas\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponseDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackActualGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evmCallbackRevertReason\",\"type\":\"string\"}],\"name\":\"WitnetQueryResponseDeliveryFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryRewardUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"sla\",\"type\":\"tuple\"}],\"name\":\"WitnetRadonSLA\",\"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 Witnet.RadonSLA\",\"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\":\"_solver\",\"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\":\"lastValidResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitnetPriceSolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"feedIds\",\"type\":\"bytes4[]\"}],\"name\":\"latestPrices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitnetPriceSolver.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\":\"latestUpdateRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"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\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponseStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.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\":\"contract IWitnetPriceSolver\",\"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.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"resultDataType\",\"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\":\"script\",\"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\":\"registry\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"updateSLA\",\"type\":\"tuple\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_usedFunds\",\"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\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"defaultSLA\",\"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 WitnetRequest\",\"name\":\"request\",\"type\":\"address\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"internalType\":\"contract WitnetRequestTemplate\",\"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\":\"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\":\"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\":\"witnet\",\"outputs\":[{\"internalType\":\"contract WitnetOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@otherplane.com>\",\"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\":\"WitnetPriceFeeds: Price Feeds live repository reliant on the Witnet Oracle blockchain.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"},\"WitnetQuery(uint256,uint256,(uint8,uint64))\":{\"notice\":\"Emitted every time a new query containing some verified data request is posted to the WRB.\"},\"WitnetQueryResponse(uint256,uint256)\":{\"notice\":\"Emitted when a query with no callback gets reported into the WRB.\"},\"WitnetQueryResponseDelivered(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a query with a callback gets successfully reported into the WRB.\"},\"WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)\":{\"notice\":\"Emitted when a query with a callback cannot get reported into the WRB.\"},\"WitnetQueryRewardUpgraded(uint256,uint256)\":{\"notice\":\"Emitted when the reward of some not-yet reported query is upgraded.\"}},\"kind\":\"user\",\"methods\":{\"footprint()\":{\"notice\":\"Returns unique hash determined by the combination of data sources being usedon non-routed price feeds, and dependencies of routed price feeds.\"},\"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.\"},\"latestPrice(bytes4)\":{\"notice\":\"====================================================================================================== --- IWitnetFeeds extension ---------------------------------------------------------------------------\"},\"lookupDecimals(bytes4)\":{\"notice\":\"====================================================================================================== --- IFeeds extension ---------------------------------------------------------------------------------\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/defaults/WitnetPriceFeedsDefault.sol\":\"WitnetPriceFeedsDefault\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@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\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitnetFeeds.sol\":{\"keccak256\":\"0x63cfffc29fd03a7ec3818a6989f9f33f1fcb6d5442ad91397057dcabc6e2ae7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03ec4a156972fd6cd626f0c4c5d191d4b48934a42167bba5d143e32efebd3752\",\"dweb:/ipfs/QmTM85sFCfP1ikHsBznELkRGYfugJko3gwtc6RPSgXoN4f\"]},\"project:/contracts/WitnetOracle.sol\":{\"keccak256\":\"0x84ef8d2ebcba273e4bc23a5ee414a1213df55d1b4e496197a146031fea3a4874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a6e31964ed08c4c9dfe5279b4ffe9eeba6e759f15901e080e174e98e96a7f5\",\"dweb:/ipfs/QmTghzVFf2EHnfnHejgFGRBjanXYcstK9ftVaYmHWJfk8w\"]},\"project:/contracts/WitnetPriceFeeds.sol\":{\"keccak256\":\"0x39c71fddffeea3dab7e9c380a63d193e7a6104cf64e7be459c8305f7dcff08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc610939116dbac6c9105b336a572c38a5b674c7aedeeacac8cb7d89c2e5382\",\"dweb:/ipfs/QmeRKxkRBhs5pjxRvRj2ZNqimfYN4vQc9p3Qna5yKmGw3p\"]},\"project:/contracts/WitnetRequest.sol\":{\"keccak256\":\"0x5b5e8e9744de10fe86adf97826e3db5c5bcbf357d179a532ef4d7073c7c3af88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25bed2c86e46beb6f59024b731b9f3d1ab176312a28b090ad149ddea48841c32\",\"dweb:/ipfs/QmT3aAXfKQ2MTHo4dK1pCyhdvaLYf5TJtgcim5DfbWHjp4\"]},\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/WitnetRequestFactory.sol\":{\"keccak256\":\"0x3c66f27d7c1db0e662c37d98005c4cbd871ceb75e97079d7bf673fb75d59c858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52adb318b870d0825718125e94fdbdd0e968ced09926420e2543b0ca4c6eb579\",\"dweb:/ipfs/QmYack87Q2UTfQb8KLLEPFBrMJgN2o6PaPqPNSc95McPVH\"]},\"project:/contracts/WitnetRequestTemplate.sol\":{\"keccak256\":\"0x10084f4f493f87d0acd9937fa786bf9e92512bf3670ee0427445d43c2cae973e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2491b8a6ec8f01a53f35f6aa602df8630955000f3dc67e7dc8b61b0b25a71657\",\"dweb:/ipfs/QmXEuPy6pVnSQpbg8G1DuVMKQyVfbTdtsDUrPYCbZNHARD\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x2b2f56fc69bf0e01f6f1062202d1682cd394fa3b3d9ff2f8f833ab51c9e866cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8017f76a71e4a52a5a5e249081c92510bac5b91f03f727e66ff4406238521337\",\"dweb:/ipfs/QmdWcPAL3MGtxGdpX5CMfgzz4YzxYEeCiFRoGHVCr8rLEL\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x9cea47781e0005266e14fadf8d1ee565d0814d4d51b30dced11bdee37b663060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb1f843f53c693f4b5a8f32249ac2eb93095671b99c90aa7c6d335eb7153e827\",\"dweb:/ipfs/QmSLvVGCcg2FZVWPB82yVb57SFixkuDm2BqjvgzJpnYfZp\"]},\"project:/contracts/core/defaults/WitnetPriceFeedsDefault.sol\":{\"keccak256\":\"0x29b7f4f082c2d6f6f58ab10224ec808fd900baf1bc338286a1d45c2af20014f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0ae76597a1d376a3ed0d68aa9f1458345ead06b73fb4151dd6b6348d30265d2\",\"dweb:/ipfs/QmSfScGKHTWZSwdDnsR7pYWDxCEvHtJKNEZK5tZEocv2cd\"]},\"project:/contracts/data/WitnetPriceFeedsData.sol\":{\"keccak256\":\"0x8cc848254deb42ab5c6d29d02c312c42cbee2b88f9dfed4289f990faa9079787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23922b87c483c75397f5a5a8837ac8feef98517893dc4f38ec3f8f830263f15c\",\"dweb:/ipfs/QmUk9Re19ft1qqpPbG4RDMuZRe9Cj7dChHhhVmvjeH3GLj\"]},\"project:/contracts/interfaces/IFeeds.sol\":{\"keccak256\":\"0x4edf84815f844f8ca6e4a277fab21082d3bb2b5e6c2b50198551b0f9aad88121\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://848dd5a610dbb08b566ed9878d09e1c2d37d1849327834b61d0d7ba35beab80f\",\"dweb:/ipfs/Qma4VvwjgTB7Na5WEv6tdxs6VbTuMtkW8GMJzxFsXiqbVE\"]},\"project:/contracts/interfaces/IWitnetFeeds.sol\":{\"keccak256\":\"0xc25f2a3789b2773cf9adeb42f44a309ac0149b8a17971a0802ad1ce1cfefa211\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5168913fbdada53072e4539b2c2e91e6db2de1fe334ab7968a72075ef8760f3\",\"dweb:/ipfs/QmaBigUMBB2mE7z368RsGdfN2r7y1vJaA3Xe4riLAaAQYY\"]},\"project:/contracts/interfaces/IWitnetFeedsAdmin.sol\":{\"keccak256\":\"0x2c579a1cce3a3e9d8f63ff2bb0ed4dd51a64cf65af8ba7a990652fb32bcd59d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b46a0b1acf1ac98ac628cc94fde6d0311c9f1b427d3f16ba6a6b0bbae52ed5fb\",\"dweb:/ipfs/QmV1efnWWAm5pnhtkS79sZQVV4zMJFmsgrhocNN111KVmX\"]},\"project:/contracts/interfaces/IWitnetOracle.sol\":{\"keccak256\":\"0x5dbb04fce5e05675325232a735c46617378982b48dac2138aca0c6cc95e6e4d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7447a70455478239500e16aebe5dce6676dc86307d22f662761d8e9f7c5d1276\",\"dweb:/ipfs/QmVkvA4Mt6G1JXxE8ebxKGAjT1WvNbp5QMKg9sUKdrJjhv\"]},\"project:/contracts/interfaces/IWitnetOracleEvents.sol\":{\"keccak256\":\"0x0442f474f253dc1f6bd6a4f153c3adb2abe5f6f0f24c76d1baf666185e61e659\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://535e8efcfc5693669d9bd2b6f62e6fc65aca19b7de355a27152e4362b410540d\",\"dweb:/ipfs/QmVZRXgku1cZewhoucebaiBKAyUjF2dmEzYrzGvjPzbwN9\"]},\"project:/contracts/interfaces/IWitnetPriceFeeds.sol\":{\"keccak256\":\"0xa667f859734bc20c34a07c35a9fda348e4f3242a8d2391b84c4ac8534fbcdc7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81e6a9286ce05cbac22b05e89e6ed9395a5650d73aeef778bbf50b845539ab7d\",\"dweb:/ipfs/QmT26ovLwnCkGmXC7mF3CrmcZEJa3rxQF2YT97mnuxUyqz\"]},\"project:/contracts/interfaces/IWitnetPriceSolver.sol\":{\"keccak256\":\"0x858441dafaa0617a8d679b3cda493b418284d865899c3f235cb3f41535db7a16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43d25f8985aede9c32cee369872a9f21db41c7b9abc87d5d4d02ff7e15879b98\",\"dweb:/ipfs/QmdoZnVpx9FZeg8KHgMjGRLmVKtdn7zzFTadFUjT8xd3dR\"]},\"project:/contracts/interfaces/IWitnetPriceSolverDeployer.sol\":{\"keccak256\":\"0x52d4e504fb6e699893a592ba5723794688c70ad36af7eb5ffdc08e692b2ddb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ab7f54312c0c8443e9220d41a72513ef84377d315cad3c49397da94361d5c42\",\"dweb:/ipfs/QmRTJtxnoRhh9AXMixRvSa8BT4vprZttLgqGzmLEjZG6oB\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/interfaces/IWitnetRequestFactory.sol\":{\"keccak256\":\"0x3b19ec4a976745ba2646e7e1886d647ef30ad678460a712c93bbfb4405b57f1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa759ae15b7d4da622a81d50933474910959ac490d8b63ea2e7ed8608859a9c9\",\"dweb:/ipfs/QmRckCu7eBBP5fn9ff6djs7VbdhFc7sxYb2yqDr4go66jV\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetPriceFeedsLib.sol\":{\"keccak256\":\"0x28b4a473e8432d83ecdfcb9b712277e51f1090e7f827cec14bf0ad56efebf3df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09a3799d20b35a94aa3246706426ee54bd18031aa68c13f93554491f5d088d0\",\"dweb:/ipfs/QmUUt459tcusH5TnriFpNDTeKCfEtEX6E6Y8RANFzfLDVb\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]},\"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\":\"0x7033d8133957a291cf9b8be30bfc4b95e6414a20995911d1b5df8ea149580604\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e20a079adc224113306392d27e0cf202c6c4a7678c4705fd3bbbca99c1e9b816\",\"dweb:/ipfs/QmWrFv2SbSokhrWhwL94sW5x1HyT7rX5f4Scowe4bWHHqu\"]},\"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\":\"0xbeb025c71f037acb1a668174eb6930631bf397129beb825f2660e5d8cf19614f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe6ce4dcd500093ae069d35b91829ccb471e1ca33ed0851fb053fbfe76c78aba\",\"dweb:/ipfs/QmT7huvCFS6bHDxt7HhEogJmyvYNbeb6dFTJudsVSX6nEs\"]}},\"version\":1}",
  "bytecode": "0x6101c0604052336101405263346916ef60e11b6101805234801561002257600080fd5b5060405161628e38038061628e83398101604081905261004191610251565b81816040518060400160405280601f81526020017f696f2e7769746e65742e70726f786961626c652e66656564732e707269636500815250823360046040518060400160405280600681526020016550726963652d60d01b8152508160138111156100ae576100ae6102a5565b60808160138111156100c2576100c26102a5565b9052506100ce81610142565b60a05250506001600160a01b03811661010157604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61010a81610155565b503060c0521515610100526001600255610120919091528051602090910120610160525050506001600160a01b03166101a0526102e7565b600061014f826020610171565b92915050565b600180546001600160a01b031916905561016e81610201565b50565b600060208260ff161115610187576101876102bb565b60008260ff1684511161019b5783516101a0565b8260ff165b905060005b818110156101f957806008028582815181106101c3576101c36102d1565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c92909217916001016101a5565b505092915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060006060848603121561026657600080fd5b83516001600160a01b038116811461027d57600080fd5b6020850151909350801515811461029357600080fd5b80925050604084015190509250925092565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615e8e610400600039600081816105740152818161169101528181611726015281816118b801528181611b97015281816123570152818161272a01528181612aed01528181612e9d01528181613172015281816134da015281816135780152818161368e0152818161372b015281816137c00152613d19015260006109cb0152600061064d01526000610b2501526000611a4101526000818161067e0152611ab00152600050506000818161061701528181610961015281816115d10152818161164d0152818161180b015261182d015260008181611b6701526132760152600081816106f50152611e020152615e8e6000f3fe6080604052600436106103505760003560e01c80638da5cb5b116101c6578063d5f39488116100f7578063f2fde38b11610095578063f9f34bb61161006f578063f9f34bb614610c7e578063fae91a5114610cab578063ff24fb4f14610ccb578063ff75890f14610ceb57610350565b8063f2fde38b14610c03578063f78eea8314610c23578063f9b4a27f14610c5e57610350565b8063e30c3978116100d1578063e30c397814610b7e578063eb92b29b14610b93578063ef1dff2b14610bb6578063f14cb81214610bd657610350565b8063d5f3948814610b13578063d6a3614f14610b47578063e1c9e3c014610b6957610350565b8063b411ee9411610164578063c064d3721161013e578063c064d37214610a79578063c3d98ea814610a99578063c5010d1714610ac6578063d3471e3414610ae657610350565b8063b411ee94146109ed578063b8d38c9614610a13578063bff852fa14610a3357610350565b8063a9e954b9116101a0578063a9e954b914610952578063abc86c6e14610986578063ac82c60814610999578063adb7c3f7146109b957610350565b80638da5cb5b146108f45780638df3fdfd14610912578063a55b471c1461093257610350565b80635be93984116102a057806379ba50971161023e57806384292f071161021857806384292f071461086557806386ac03e01461088557806389a87b16146108a55780638a416ea9146108d257610350565b806379ba50971461080e5780637b10399914610823578063806d7e8f1461083857610350565b80636b58960a1161027a5780636b58960a146107565780636d1178e514610776578063715018a6146107e457806375dadb32146107f957610350565b80635be93984146106c35780636175ff00146106e35780636ab221f81461072457610350565b806346d1d21a1161030d5780635001f3b5116102e75780635001f3b51461060857806352d1902d1461063b5780635479d9401461066f57806354fd4d50146106ae57610350565b806346d1d21a1461056257806349492ef1146105ae5780634efef9c0146105db57610350565b8063029db9581461048a5780630306732e146104bd57806303f3813d146104e1578063384ac938146105015780633e088e121461052f578063439fab9114610542575b34801561035c57600080fd5b506000356001600160e01b03191663e0d20f7360e01b14801561037e57503330145b156104365760006103a56020610394368461447a565b6001600160c01b031916901b610d0b565b600601546001600160a01b03169050806104115760405162461bcd60e51b815260206004820152602260248201527f5769746e6574507269636546656564733a20756e736574746c656420736f6c7660448201526132b960f11b60648201526084015b60405180910390fd5b60405136600082376000803683855af43d806000843e818015610432578184f35b8184fd5b60405162461bcd60e51b815260206004820152602160248201527f5769746e6574507269636546656564733a206e6f7420696d706c656d656e74656044820152601960fa1b6064820152608401610408565b005b34801561049657600080fd5b506104aa6104a53660046144be565b610d45565b6040519081526020015b60405180910390f35b3480156104c957600080fd5b506104d2610d56565b6040516104b493929190614585565b3480156104ed57600080fd5b506104886104fc3660046146c0565b610fb5565b34801561050d57600080fd5b5061052161051c3660046144be565b6113ab565b6040516104b4929190614744565b6104aa61053d3660046144be565b61147d565b34801561054e57600080fd5b5061048861055d3660046148a2565b6114b1565b34801561056e57600080fd5b506105967f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016104b4565b3480156105ba57600080fd5b506105ce6105c93660046144be565b6118a1565b6040516104b49190614900565b3480156105e757600080fd5b506105fb6105f63660046144be565b611951565b6040516104b49190614937565b34801561061457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610596565b34801561064757600080fd5b506104aa7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405190151581526020016104b4565b3480156106ba57600080fd5b506105fb611a3a565b3480156106cf57600080fd5b506104aa6106de3660046144be565b611a6a565b3480156106ef57600080fd5b506107177f000000000000000000000000000000000000000000000000000000000000000081565b6040516104b4919061495e565b34801561073057600080fd5b5061074461073f3660046144be565b611a7f565b60405160ff90911681526020016104b4565b34801561076257600080fd5b5061069e61077136600461496c565b611a97565b34801561078257600080fd5b5061078b611af2565b6040516104b49190600060a08201905060ff835116825260ff602084015116602083015260408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b3480156107f057600080fd5b50610488611b4c565b34801561080557600080fd5b506105fb611b60565b34801561081a57600080fd5b50610488611b8b565b34801561082f57600080fd5b50610596611b93565b34801561084457600080fd5b506108586108533660046144be565b611c17565b6040516104b49190614a1f565b34801561087157600080fd5b50610488610880366004614b05565b611df8565b34801561089157600080fd5b506104886108a0366004614b50565b6120a6565b3480156108b157600080fd5b506108c56108c03660046144be565b612311565b6040516104b49190614b91565b3480156108de57600080fd5b506108e76123f0565b6040516104b49190614c20565b34801561090057600080fd5b506000546001600160a01b0316610596565b34801561091e57600080fd5b506104aa61092d3660046144be565b6124aa565b34801561093e57600080fd5b5061059661094d366004614c35565b6124bf565b34801561095e57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f6104aa565b6104aa610994366004614cb2565b612598565b3480156109a557600080fd5b506104886109b4366004614ce8565b612652565b3480156109c557600080fd5b506108e77f000000000000000000000000000000000000000000000000000000000000000081565b3480156109f957600080fd5b506108e7610a083660046148a2565b805160209091012090565b348015610a1f57600080fd5b50610488610a2e366004614d3e565b6126c6565b348015610a3f57600080fd5b5060408051808201909152601781527f5769746e65745072696365466565647344656661756c7400000000000000000060208201526105fb565b348015610a8557600080fd5b506104aa610a94366004614d62565b6126e6565b348015610aa557600080fd5b50610ab9610ab43660046144be565b6127a9565b6040516104b49190614db5565b348015610ad257600080fd5b5061069e610ae1366004614b50565b6129bc565b348015610af257600080fd5b50610b06610b013660046144be565b612abe565b6040516104b49190614dc3565b348015610b1f57600080fd5b506105967f000000000000000000000000000000000000000000000000000000000000000081565b348015610b5357600080fd5b50600080516020615e39833981519152546104aa565b348015610b7557600080fd5b50610488612b86565b348015610b8a57600080fd5b50610596612cfe565b348015610b9f57600080fd5b5060045460405161ffff90911681526020016104b4565b348015610bc257600080fd5b506105fb610bd13660046144be565b612d12565b348015610be257600080fd5b50610bf6610bf13660046144be565b612dad565b6040516104b49190614e1d565b348015610c0f57600080fd5b50610488610c1e36600461496c565b612dc0565b348015610c2f57600080fd5b50610c43610c3e366004614d62565b612dd4565b604080519384526020840192909252908201526060016104b4565b348015610c6a57600080fd5b50610b06610c793660046144be565b612e6e565b348015610c8a57600080fd5b50610c9e610c99366004614e2b565b612ed3565b6040516104b49190614e60565b348015610cb757600080fd5b50610488610cc6366004614eae565b612faa565b348015610cd757600080fd5b50610488610ce63660046146c0565b613051565b348015610cf757600080fd5b50610596610d06366004614c35565b6130b2565b6001600160e01b03191660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b6000610d5082613141565b92915050565b600080516020615e3983398151915280546040805160208084028201810190925282815260609384938493830182828015610ddd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610d9f5790505b5050505050925082516001600160401b03811115610dfd57610dfd614768565b604051908082528060200260200182016040528015610e3057816020015b6060815260200190600190039081610e1b5790505b50915082516001600160401b03811115610e4c57610e4c614768565b604051908082528060200260200182016040528015610e75578160200160208202803683370190505b50905060005b8351811015610faf576000610ea8858381518110610e9b57610e9b614eca565b6020026020010151610d0b565b9050806000018054610eb990614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee590614ee0565b8015610f325780601f10610f0757610100808354040283529160200191610f32565b820191906000526020600020905b815481529060010190602001808311610f1557829003601f168201915b5050505050848381518110610f4957610f49614eca565b602090810291909101015260068101546001600160a01b031615610f8357600681015460601b6bffffffffffffffffffffffff1916610f89565b80600501545b838381518110610f9b57610f9b614eca565b602090810291909101015250600101610e7b565b50909192565b610fbd613217565b6001600160a01b03831661101f5760405162461bcd60e51b815260206004820152602360248201527f5769746e6574507269636546656564733a206e6f20736f6c766572206164647260448201526265737360e81b6064820152608401610408565b600061106086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b9050600061106d82610d0b565b9050806002015460000361113d5780611087878983614f64565b506110928787613244565b60018201805460ff191660ff92909216919091179055600080516020615e198339815191526001908101546110c691615039565b60028201556006810180546001600160a01b0319166001600160a01b038716179055600080516020615e198339815191526001908101805491820181556000908152602090206008820401805463ffffffff60079093166004026101000a928302191660e085901c92909202919091179055611179565b60068101546001600160a01b0386811691161461117957600060058201556006810180546001600160a01b0319166001600160a01b0387161790555b600080866001600160a01b031663e6f8715860e01b8588886040516024016111a3939291906150ba565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516111e19190615136565b600060405180830381855af49150503d806000811461121c576040519150601f19603f3d011682016040523d82523d6000602084013e611221565b606091505b50915091508161127b576004810190508080602001905181019061124591906151aa565b60405160200161125591906151de565b60408051601f198184030181529082905262461bcd60e51b825261040891600401614937565b5050600080306001600160a01b031663e0d20f7360e01b856040516024016112a39190614c20565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112e19190615136565b600060405180830381855afa9150503d806000811461131c576040519150601f19603f3d011682016040523d82523d6000602084013e611321565b606091505b509150915081611355576004810190508080602001905181019061134591906151aa565b6040516020016112559190615241565b5050604080516001600160e01b0319841681526001600160a01b03871660208201527f850802cc670161a9f185e45414c2fe7efb5e71b23a8e32a53caffb7dd000aca3910160405180910390a150505050505050565b600060606113b883610d0b565b600601546001600160a01b0316915060006113d28461332a565b905080516001600160401b038111156113ed576113ed614768565b60405190808252806020026020018201604052801561142057816020015b606081526020019060019003908161140b5790505b50915060005b81518110156114765761145182828151811061144457611444614eca565b6020026020010151612d12565b83828151811061146357611463614eca565b6020908102919091010152600101611426565b5050915091565b6040805180820190915260035460ff8116825261010090046001600160401b03166020820152600090610d50908390613414565b6000546001600160a01b03168061152a57818060200190518101906114d69190615294565b90506114e18161394f565b60408051808201909152600a808252630bebc2006020909201919091526003805468ffffffffffffffffff1916640bebc2000a1790556004805461ffff19169091179055611582565b336001600160a01b038216146115825760405162461bcd60e51b815260206004820152601f60248201527f5769746e6574507269636546656564733a206e6f7420746865206f776e6572006044820152606401610408565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906115f357507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561164b5760405162461bcd60e51b815260206004820152602260248201527f5769746e6574507269636546656564733a20616c726561647920757067726164604482015261195960f21b6064820152608401610408565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b6117125760405162461bcd60e51b815260206004820152602360248201527f5769746e6574507269636546656564733a20696e6578697374656e74206f7261604482015262636c6560e81b6064820152608401610408565b63baeca88b60e01b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a691906152b1565b6001600160e01b031916146118095760405162461bcd60e51b8152602060048201526024808201527f5769746e6574507269636546656564733a20756e636f6d706c69616e74206f7260448201526361636c6560e01b6064820152608401610408565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611888611a3a565b6040516118959190614937565b60405180910390a45050565b6040805180820190915260008152606060208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a77fc1a46118ee84611a6a565b6040518263ffffffff1660e01b815260040161190c91815260200190565b600060405180830381865afa158015611929573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5091908101906152ce565b6060600061195e83610d0b565b60058101549091506000036119b55760405162461bcd60e51b815260206004820152601d60248201527f5769746e6574507269636546656564733a206e6f2052414420686173680000006044820152606401610408565b6119bd611b93565b6001600160a01b0316632ebf5d5c82600501546040518263ffffffff1660e01b81526004016119ee91815260200190565b600060405180830381865afa158015611a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a3391908101906151aa565b9392505050565b6060611a657f0000000000000000000000000000000000000000000000000000000000000000613968565b905090565b6000611a7582610d0b565b6004015492915050565b6000611a8a82610d0b565b6001015460ff1692915050565b600080611aac6000546001600160a01b031690565b90507f00000000000000000000000000000000000000000000000000000000000000008015611a335750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040805180820190915260035460ff8116825261010090046001600160401b03166020820152611a6590613a0c565b611b54613217565b611b5e600061394f565b565b6060611a657f0000000000000000000000000000000000000000000000000000000000000000613ab3565b611b5e613b57565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a659190615294565b60606000611c23611b93565b6001600160a01b031663a83e942c611c3a856124aa565b6040518263ffffffff1660e01b8152600401611c5891815260200190565b600060405180830381865afa158015611c75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c9d9190810190615378565b905080516001600160401b03811115611cb857611cb8614768565b604051908082528060200260200182016040528015611d2a57816020015b611d176040805160e0810190915260008082526020820190815260200160008152602001606081526020016060815260200160608152602001606081525090565b815260200190600190039081611cd65790505b50915060005b8251811015611df157611d41611b93565b6001600160a01b0316639dd48757838381518110611d6157611d61614eca565b60200260200101516040518263ffffffff1660e01b8152600401611d8791815260200190565b600060405180830381865afa158015611da4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dcc9190810190615543565b838281518110611dde57611dde614eca565b6020908102919091010152600101611d30565b5050919050565b611e00613217565b7f00000000000000000000000000000000000000000000000000000000000000006013811115611e3257611e326148ea565b611e3a611b93565b6001600160a01b0316634c729104836040518263ffffffff1660e01b8152600401611e6791815260200190565b602060405180830381865afa158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea8919061564e565b6013811115611eb957611eb96148ea565b14611f155760405162461bcd60e51b815260206004820152602660248201527f5769746e6574507269636546656564733a2062616420726573756c742064617460448201526561207479706560d01b6064820152608401610408565b6000611f5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b90506000611f6382610d0b565b905080600201546000036120375780611f7d858783614f64565b50611f888585613244565b60018201805460ff191660ff92909216919091179055600080516020615e19833981519152600190810154611fbc91615039565b600282015560058101839055600080516020615e3983398151915280546001810182556000919091527fb7ef506da7909f25321b247725840c95fced7275a59588a4236c0671ab1d82216008820401805463ffffffff60079093166004026101000a928302191660e085901c9290920291909117905561205c565b8281600501541461205c57600581018390556006810180546001600160a01b03191690555b604080516001600160e01b031984168152602081018590527f37206f9df7db3fe5c4edfea9c5ce9ea406912fc4133f5c67200273da0c09e7b1910160405180910390a15050505050565b6120ae613217565b60006120ef83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b9050600080516020615e39833981519152600061210b83610d0b565b600281015490915060008190036121645760405162461bcd60e51b815260206004820152601e60248201527f5769746e6574507269636546656564733a20756e6b6e6f776e206665656400006044820152606401610408565b8254600090849061217790600190615669565b8154811061218757612187614eca565b6000918252602090912060088204015460079091166004026101000a900460e01b905080846121b7600185615669565b815481106121c7576121c7614eca565b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550838054806122075761220761567c565b600082815260209020600860001990920191820401805463ffffffff600460078516026101000a021916905590558161223f82610d0b565b600201556001600160e01b0319851660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602052604081209061228682826143c7565b5060018101805460ff191690556000600282018190556003820181905560048201819055600582018190556006820180546001600160a01b031916905560078201819055600890910155506040517f5296cc0e8dad8eeece6ce7d0928746294283b850d6261e03e7028a84de61f0b690612301908690614c20565b60405180910390a1505050505050565b6123556040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630aa4112a61238d84611a6a565b6040518263ffffffff1660e01b81526004016123ab91815260200190565b600060405180830381865afa1580156123c8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d50919081019061571c565b600080516020615e3983398151915254600090156124a757612457600080516020615e1983398151915260010160008154811061242f5761242f614eca565b90600052602060002090600891828204019190066004029054906101000a900460e01b613bd2565b905060015b600080516020615e39833981519152548110156124a557612499600080516020615e19833981519152600101828154811061242f5761242f614eca565b9091189060010161245c565b505b90565b60006124b582610d0b565b6005015492915050565b60006124c9613217565b604051632956d1c760e21b815273__WitnetPriceFeedsLib___________________9063a55b471c906125069088908890889088906004016157dd565b602060405180830381865af4158015612523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125479190615294565b90507f3c07c0cbdabca8310d65b09f79c58655b46c3035d57c452177e3d49972ff5cec81826001600160a01b03163f85856040516125889493929190615804565b60405180910390a1949350505050565b6040805180820190915260035460ff8116825261010090046001600160401b031660208201526000906125e4906125d43685900385018561582c565b9051905160ff9182169116101590565b61263a5760405162461bcd60e51b815260206004820152602160248201527f5769746e6574507269636546656564733a20756e7365637572652075706461746044820152606560f81b6064820152608401610408565b611a338361264d3685900385018561582c565b613414565b61265a613217565b6126c18383836001600160a01b0316631eef90526040518163ffffffff1660e01b8152600401602060405180830381865afa15801561269d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108809190615871565b505050565b6126ce613217565b6004805461ffff191661ffff92909216919091179055565b6004546000906064906126fd9061ffff168261588a565b604051630f7b104360e31b8152600481018590526020602482015261ffff91909116906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637bd8821890604401602060405180830381865afa158015612771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127959190615871565b61279f91906158a5565b610d5091906158d2565b6127d16040805160808101825260008082526020820181905291810182905290606082015290565b60006127dc83613141565b9050801561285a5760006127ef84612e6e565b905060006128008260800151613c61565b9050604051806080016040528061281683613c7f565b8152602001836040015163ffffffff1681526020018360600151815260200161283e87612dad565b600581111561284f5761284f6148ea565b905295945050505050565b600061286584610d0b565b600601546001600160a01b03169050801561297057600080306001600160a01b031663e0d20f7360e01b876040516024016128a09190614c20565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516128de9190615136565b600060405180830381855afa9150503d8060008114612919576040519150601f19603f3d011682016040523d82523d6000602084013e61291e565b606091505b509150915081612952576004810190508080602001905181019061294291906151aa565b60405160200161125591906158e6565b80806020019051810190612966919061592f565b9695505050505050565b604051806080016040528060008152602001600081526020016000801b815260200161299b86612dad565b60058111156129ac576129ac6148ea565b9052949350505050565b50919050565b6000806129fe84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b90506001600160e01b03198116612aab612a1783610d0b565b8054612a2290614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054612a4e90614ee0565b8015612a9b5780601f10612a7057610100808354040283529160200191612a9b565b820191906000526020600020905b815481529060010190602001808311612a7e57829003601f168201915b5050505050805160209091012090565b6001600160e01b03191614949350505050565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f61921b2612b2384611a6a565b6040518263ffffffff1660e01b8152600401612b4191815260200190565b600060405180830381865afa158015612b5e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d509190810190615998565b612b8e613217565b600080516020615e3983398151915280545b8015612cfa57600082612bb4600184615669565b81548110612bc457612bc4614eca565b90600052602060002090600891828204019190066004029054906101000a900460e01b9050612bfe600080516020615e1983398151915290565b6001600160e01b0319821660009081526002919091016020526040812090612c2682826143c7565b5060018101805460ff191690556000600282018190556003820181905560048201819055600582018190556006820180546001600160a01b0319169055600782018190556008909101558254839080612c8157612c8161567c565b600082815260209020600860001990920191820401805463ffffffff600460078516026101000a021916905590556040517f5296cc0e8dad8eeece6ce7d0928746294283b850d6261e03e7028a84de61f0b690612cdf908390614c20565b60405180910390a15080612cf281615a54565b915050612ba0565b5050565b6000611a656001546001600160a01b031690565b6060612d1d82610d0b565b8054612d2890614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054612d5490614ee0565b8015612da15780601f10612d7657610100808354040283529160200191612da1565b820191906000526020600020905b815481529060010190602001808311612d8457829003601f168201915b50505050509050919050565b6000610d50612dbb83611a6a565b613cfb565b612dc8613217565b612dd181613d94565b50565b600080600080612de3856127a9565b8051602082015191925090600283606001516005811115612e0657612e066148ea565b14612e5857600183606001516005811115612e2357612e236148ea565b1480612e445750600483606001516005811115612e4257612e426148ea565b145b612e5057610190612e5b565b610194612e5b565b60c85b919550935061ffff169150509193909250565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f61921b2612b2384613141565b6060816001600160401b03811115612eed57612eed614768565b604051908082528060200260200182016040528015612f4657816020015b612f336040805160808101825260008082526020820181905291810182905290606082015290565b815260200190600190039081612f0b5790505b50905060005b82811015612fa357612f7e848483818110612f6957612f69614eca565b9050602002016020810190610ab491906144be565b828281518110612f9057612f90614eca565b6020908102919091010152600101612f4c565b5092915050565b612fb2613217565b612fbb81613dc6565b6130075760405162461bcd60e51b815260206004820152601d60248201527f5769746e6574507269636546656564733a20696e76616c696420534c410000006044820152606401610408565b8060036130148282615a6b565b9050507f084efe053ac15af09a2db38bb176035f1d94cbc8a775c7761e662f7f11ae6940816040516130469190615abd565b60405180910390a150565b613059613217565b6130ab8585856001600160a01b031663bf7a0bd386866040518363ffffffff1660e01b815260040161308c929190615b49565b6020604051808303816000875af115801561269d573d6000803e3d6000fd5b5050505050565b6040516001628a76f160e01b0319815260009073__WitnetPriceFeedsLib___________________9063ff75890f906130f59088908890889088906004016157dd565b602060405180830381865af4158015613112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131369190615294565b90505b949350505050565b60008061314d83611a6a565b90506000811180156131f85750600260405163234fe6e360e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063234fe6e390602401602060405180830381865afa1580156131c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e59190615bd9565b60058111156131f6576131f66148ea565b145b156132035792915050565b61320c83610d0b565b600301549392505050565b6000546001600160a01b03163314611b5e5760405163118cdaa760e01b8152336004820152602401610408565b60405163e78d44d960e01b815260009073__WitnetPriceFeedsLib___________________9063e78d44d9906132a2907f00000000000000000000000000000000000000000000000000000000000000009087908790600401615bf4565b602060405180830381865af49250505080156132db575060408051601f3d908101601f191682019092526132d891810190615c0e565b60015b613323576132e7615c2b565b806308c379a00361331757506132fb615c46565b806133065750613319565b8060405160200161125591906158e6565b505b3d6000803e3d6000fd5b9050610d50565b6001600160e01b0319811660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602090815260409182902060089081015483518281526101208101909452606093909290919082016101008036833701905050915060005b600881101561340c57818382815181106133af576133af614eca565b60200260200101906001600160e01b03191690816001600160e01b031916815250508281815181106133e3576133e3614eca565b60209081029190910101516001600160e01b0319161561340c57602082901b9150600101613393565b825250919050565b60008061342084610d0b565b600581015490915015613895576134363a6126e6565b9150813410156134965760405162461bcd60e51b815260206004820152602560248201527f5769746e6574507269636546656564733a20696e73756666696369656e742072604482015264195dd85c9960da1b6064820152608401610408565b600481015460006134a682613cfb565b905060018160058111156134bc576134bc6148ea565b0361364f57604051630552089560e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630aa4112a90602401600060405180830381865afa158015613529573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613551919081019061571c565b9050600085826040015160080b6135689190615ccf565b90506000811315613643578095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ec5946db87866040518363ffffffff1660e01b81526004016135c591815260200190565b6000604051808303818588803b1580156135de57600080fd5b505af11580156135f2573d6000803e3d6000fd5b505060408051888152602081018b90526001600160e01b03198d1694503293507fc75bbe35e1d3486439c776ccf0fb47aede3d28e1bf548e01357b57132974cd9692500160405180910390a3613648565b600095505b505061388e565b6002816005811115613663576136636148ea565b036137155760038301541561370957600383015460405163045bf42f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906308b7e85e906024016000604051808303816000875af11580156136df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137079190810190615998565b505b600383018290556137a4565b60405163045bf42f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906308b7e85e906024016000604051808303816000875af192505050801561379d57506040513d6000823e601f3d908101601f1916820160405261379a9190810190615998565b60015b156137a457505b6005830154604051631ee15bd160e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633dc2b7a29187916137f7918a90600401615cef565b60206040518083038185885af1158015613815573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061383a9190615871565b600484018190556040519092506001600160e01b031987169032907e9bd781be3a9c4660642983aa92bc7a7484c4b0cb0c2afa0f9174c74061d5039061388590869089908b90615d19565b60405180910390a35b5050613909565b60068101546001600160a01b0316156138c1576138ba6138b48561332a565b84613e1f565b9150613909565b60405162461bcd60e51b815260206004820152601e60248201527f5769746e6574507269636546656564733a20756e6b6e6f776e206665656400006044820152606401610408565b34821015612fa357336108fc61391f8434615669565b6040518115909202916000818181858888f19350505050158015613947573d6000803e3d6000fd5b505092915050565b600180546001600160a01b0319169055612dd181613edc565b6060600061397583613f2c565b6001600160401b0381111561398c5761398c614768565b6040519080825280601f01601f1916602001820160405280156139b6576020820181803683370190505b50905060005b8151811015612fa3578381602081106139d7576139d7614eca565b1a60f81b8282815181106139ed576139ed614eca565b60200101906001600160f81b031916908160001a9053506001016139bc565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040518060a00160405280836000015160ff168152602001603360ff16815260200183602001516001600160401b0316815260200183602001516064613a7d9190615d48565b6001600160401b03168152602001836000015160ff168460200151613aa29190615d6b565b6001600160401b0316905292915050565b60606000613ac083613f65565b6001600160401b03811115613ad757613ad7614768565b6040519080825280601f01601f191660200182016040528015613b01576020820181803683370190505b50905060005b8151811015612fa357838160208110613b2257613b22614eca565b1a60f81b828281518110613b3857613b38614eca565b60200101906001600160f81b031916908160001a905350600101613b07565b3380613b61612cfe565b6001600160a01b031614613bc95760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610408565b612dd18161394f565b600080613bde83610d0b565b6005015414613c2e5781613bf183610d0b565b60050154604080516001600160e01b031990931660208401528201526060015b604051602081830303815290604052805190602001209050919050565b81613c3883610d0b565b60080154604080516001600160e01b03199093166020840152820152606001613c11565b919050565b613c69614406565b6000613c7483613f9e565b9050611a3381613fc3565b6000818060000151613cee5760405162461bcd60e51b815260206004820152603260248201527f5769746e65743a20747269656420746f206465636f64652076616c756520667260448201527137b69032b93937b932b2103932b9bab63a1760711b6064820152608401610408565b611a338360200151613ff7565b60008115613d8c5760405163234fe6e360e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063234fe6e390602401602060405180830381865afa158015613d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190615bd9565b506002919050565b613d9c613217565b6001600160a01b038116613bc957604051631e4fbdf760e01b815260006004820152602401610408565b600080613dd96040840160208501615d91565b6001600160401b0316118015613dfe57506000613df96020840184615dae565b60ff16115b8015610d505750607f613e146020840184615dae565b60ff16111592915050565b600080835134613e2f91906158d2565b905060005b845181101561394757306001600160a01b031663abc86c6e83878481518110613e5f57613e5f614eca565b6020026020010151876040518463ffffffff1660e01b8152600401613e85929190615dcb565b60206040518083038185885af1158015613ea3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613ec89190615871565b613ed29084615039565b9250600101613e34565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6020811015613c5c57818160208110613f4a57613f4a614eca565b1a60f81b6001600160f81b03191615613c5c57600101613f2f565b60005b6020811015613c5c57818160208110613f8357613f83614eca565b1a60f81b6001600160f81b03191615613c5c57600101613f68565b613fa661441e565b6040805180820190915282815260006020820152611a338161405a565b613fcb614406565b5060a0810151604080518082019091526001600160401b03909116602714158152602081019190915290565b60008160008060ff16826040015160ff161461403757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610408565b6140498460000151856060015161417a565b6001600160401b0316949350505050565b61406261441e565b8151518290600003614087576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b801561410a576140a78961423b565b9550816140b381615dff565b6007600589901c169650601f8816955092505060051985016141025760208901516140de8a8661417a565b9350808a602001516140f09190615669565b6140fa9084615039565b925050614098565b506000614098565b600760ff861611156141345760405163bd2ac87960e01b815260ff86166004820152602401610408565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015614192575060ff8116610d50565b8160ff166018036141b0576141a68361423b565b60ff169050610d50565b8160ff166019036141cf576141c48361429d565b61ffff169050610d50565b8160ff16601a036141f0576141e383614309565b63ffffffff169050610d50565b8160ff16601b036142045761332383614368565b8160ff16601f0361421d57506001600160401b03610d50565b604051636d785b1360e01b815260ff83166004820152602401610408565b6000816020015182600001515180821115614273576040516363a056dd60e01b81526004810183905260248101829052604401610408565b835160208501805180830160010151955090819061429082615dff565b8152505050505050919050565b6000816020015160026142b09190615039565b825151808211156142de576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516002818401810151965090916142fc8284615039565b9052509395945050505050565b60008160200151600461431c9190615039565b8251518082111561434a576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516004818401810151965090916142fc8284615039565b60008160200151600861437b9190615039565b825151808211156143a9576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516008818401810151965090916142fc8284615039565b5080546143d390614ee0565b6000825580601f106143e3575050565b601f016020900490600052602060002090810190612dd19190614465565b905290565b60405180604001604052806000151581526020016144015b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b808211156124a55760008155600101614466565b6001600160c01b031981358181169160088510156139475760089490940360031b84901b1690921692915050565b6001600160e01b031981168114612dd157600080fd5b6000602082840312156144d057600080fd5b8135611a33816144a8565b60005b838110156144f65781810151838201526020016144de565b50506000910152565b600081518084526145178160208601602086016144db565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561457857601f198684030189526145668383516144ff565b9884019892509083019060010161454a565b5090979650505050505050565b606080825284519082018190526000906020906080840190828801845b828110156145c85781516001600160e01b031916845292840192908401906001016145a2565b505050838103828501526145dc818761452b565b8481036040860152855180825283870192509083019060005b81811015614611578351835292840192918401916001016145f5565b509098975050505050505050565b60008083601f84011261463157600080fd5b5081356001600160401b0381111561464857600080fd5b60208301915083602082850101111561466057600080fd5b9250929050565b6001600160a01b0381168114612dd157600080fd5b60008083601f84011261468e57600080fd5b5081356001600160401b038111156146a557600080fd5b6020830191508360208260051b850101111561466057600080fd5b6000806000806000606086880312156146d857600080fd5b85356001600160401b03808211156146ef57600080fd5b6146fb89838a0161461f565b90975095506020880135915061471082614667565b9093506040870135908082111561472657600080fd5b506147338882890161467c565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190526000906131399083018461452b565b634e487b7160e01b600052604160045260246000fd5b604081018181106001600160401b038211171561479d5761479d614768565b60405250565b60c081018181106001600160401b038211171561479d5761479d614768565b60a081018181106001600160401b038211171561479d5761479d614768565b601f8201601f191681016001600160401b038111828210171561480657614806614768565b6040525050565b60405160e081016001600160401b038111828210171561482f5761482f614768565b60405290565b60006001600160401b0382111561484e5761484e614768565b50601f01601f191660200190565b600061486783614835565b60405161487482826147e1565b80925084815285858501111561488957600080fd5b8484602083013760006020868301015250509392505050565b6000602082840312156148b457600080fd5b81356001600160401b038111156148ca57600080fd5b8201601f810184136148db57600080fd5b6131398482356020840161485c565b634e487b7160e01b600052602160045260246000fd5b602081526000825160ff8110614918576149186148ea565b80602084015250602083015160408084015261313960608401826144ff565b602081526000611a3360208301846144ff565b6014811061495a5761495a6148ea565b9052565b60208101610d50828461494a565b60006020828403121561497e57600080fd5b8135611a3381614667565b6005811061495a5761495a6148ea565b600082825180855260208086019550808260051b8401018186016000805b85811015614a1157868403601f19018a5282518460408101845b60028110156149fc5787820383526149ea8285516144ff565b938901939289019291506001016149d1565b509b87019b95505050918401916001016149b7565b509198975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561461157603f19898403018552815160e060ff825116855288820151614a748a870182614989565b5087820151614a858987018261494a565b506060808301518282880152614a9d838801826144ff565b9250505060808083015186830382880152614ab883826144ff565b9250505060a08083015186830382880152614ad38382614999565b9250505060c08083015192508582038187015250614af181836144ff565b968901969450505090860190600101614a48565b600080600060408486031215614b1a57600080fd5b83356001600160401b03811115614b3057600080fd5b614b3c8682870161461f565b909790965060209590950135949350505050565b60008060208385031215614b6357600080fd5b82356001600160401b03811115614b7957600080fd5b614b858582860161461f565b90969095509350505050565b6020815260018060a01b03825116602082015262ffffff602083015116604082015268ffffffffffffffffff60408301511660608201526000606083015160e06080840152614be46101008401826144ff565b9050608084015160a084015260a0840151614c1860c0850182805160ff1682526020908101516001600160401b0316910152565b509392505050565b6001600160e01b031991909116815260200190565b60008060008060408587031215614c4b57600080fd5b84356001600160401b0380821115614c6257600080fd5b614c6e8883890161461f565b90965094506020870135915080821115614c8757600080fd5b50614c948782880161461f565b95989497509550505050565b6000604082840312156129b657600080fd5b60008060608385031215614cc557600080fd5b8235614cd0816144a8565b9150614cdf8460208501614ca0565b90509250929050565b600080600060408486031215614cfd57600080fd5b83356001600160401b03811115614d1357600080fd5b614d1f8682870161461f565b9094509250506020840135614d3381614667565b809150509250925092565b600060208284031215614d5057600080fd5b813561ffff81168114611a3357600080fd5b600060208284031215614d7457600080fd5b5035919050565b6006811061495a5761495a6148ea565b80518252602081015160208301526040810151604083015260608101516126c16060840182614d7b565b60808101610d508284614d8b565b6020815260018060a01b0382511660208201526001600160401b03602083015116604082015263ffffffff6040830151166060820152606082015160808201526000608083015160a08084015261313960c08401826144ff565b60208101610d508284614d7b565b60008060208385031215614e3e57600080fd5b82356001600160401b03811115614e5457600080fd5b614b858582860161467c565b6020808252825182820181905260009190848201906040850190845b81811015614ea257614e8f838551614d8b565b9284019260809290920191600101614e7c565b50909695505050505050565b600060408284031215614ec057600080fd5b611a338383614ca0565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680614ef457607f821691505b6020821081036129b657634e487b7160e01b600052602260045260246000fd5b601f8211156126c1576000816000526020600020601f850160051c81016020861015614f3d5750805b601f850160051c820191505b81811015614f5c57828155600101614f49565b505050505050565b6001600160401b03831115614f7b57614f7b614768565b614f8f83614f898354614ee0565b83614f14565b6000601f841160018114614fc35760008515614fab5750838201355b600019600387901b1c1916600186901b1783556130ab565b600083815260209020601f19861690835b82811015614ff45786850135825560209485019460019092019101614fd4565b50868210156150115760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d5057610d50615023565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261508c57600080fd5b83016020810192503590506001600160401b038111156150ab57600080fd5b80360382131561466057600080fd5b60006040820163ffffffff60e01b861683526020604060208501528185835260608501905060608660051b86010192508660005b8781101561512857868503605f19018352615109828a615075565b61511487828461504c565b9650505091830191908301906001016150ee565b509298975050505050505050565b600082516151488184602087016144db565b9190910192915050565b600082601f83011261516357600080fd5b815161516e81614835565b60405161517b82826147e1565b82815285602084870101111561519057600080fd5b6151a18360208301602088016144db565b95945050505050565b6000602082840312156151bc57600080fd5b81516001600160401b038111156151d257600080fd5b61313984828501615152565b7f5769746e657450726963654665656455706772616461626c653a20736f6c7665815274039103b30b634b230ba34b7b7103330b4b632b21d1605d1b6020820152600082516152348160358501602087016144db565b9190910160350192915050565b7f5769746e6574507269636546656564733a20736d6f6b652d746573742066616981526403632b21d160dd1b6020820152600082516152878160258501602087016144db565b9190910160250192915050565b6000602082840312156152a657600080fd5b8151611a3381614667565b6000602082840312156152c357600080fd5b8151611a33816144a8565b6000602082840312156152e057600080fd5b81516001600160401b03808211156152f757600080fd5b908301906040828603121561530b57600080fd5b6040516153178161477e565b825160ff811061532657600080fd5b815260208301518281111561533a57600080fd5b61534687828601615152565b60208301525095945050505050565b60006001600160401b0382111561536e5761536e614768565b5060051b60200190565b6000602080838503121561538b57600080fd5b82516001600160401b038111156153a157600080fd5b8301601f810185136153b257600080fd5b80516153bd81615355565b6040516153ca82826147e1565b82815260059290921b83018401918481019150878311156153ea57600080fd5b928401925b82841015615408578351825292840192908401906153ef565b979650505050505050565b60ff81168114612dd157600080fd5b8051613c5c81615413565b805160058110613c5c57600080fd5b805160148110613c5c57600080fd5b600082601f83011261545c57600080fd5b8151602061546982615355565b60405161547682826147e1565b83815260059390931b850182019282810191508684111561549657600080fd5b8286015b848110156155385780516001600160401b03808211156154ba5760008081fd5b818901915089603f8301126154cf5760008081fd5b6040516154db8161477e565b80606084018c8111156154ee5760008081fd5b8885015b818110156155265780518581111561550a5760008081fd5b6155188f8c838a0101615152565b8452509189019189016154f2565b5050508552505091830191830161549a565b509695505050505050565b60006020828403121561555557600080fd5b81516001600160401b038082111561556c57600080fd5b9083019060e0828603121561558057600080fd5b61558861480d565b61559183615422565b815261559f6020840161542d565b60208201526155b06040840161543c565b60408201526060830151828111156155c757600080fd5b6155d387828601615152565b6060830152506080830151828111156155eb57600080fd5b6155f787828601615152565b60808301525060a08301518281111561560f57600080fd5b61561b8782860161544b565b60a08301525060c08301518281111561563357600080fd5b61563f87828601615152565b60c08301525095945050505050565b60006020828403121561566057600080fd5b611a338261543c565b81810381811115610d5057610d50615023565b634e487b7160e01b600052603160045260246000fd5b805162ffffff81168114613c5c57600080fd5b805168ffffffffffffffffff81168114613c5c57600080fd5b6001600160401b0381168114612dd157600080fd5b6000604082840312156156e557600080fd5b6040516156f18161477e565b80915082516156ff81615413565b8152602083015161570f816156be565b6020919091015292915050565b60006020828403121561572e57600080fd5b81516001600160401b038082111561574557600080fd5b9083019060e0828603121561575957600080fd5b604051615765816147a3565b825161577081614667565b815261577e60208401615692565b602082015261578f604084016156a5565b60408201526060830151828111156157a657600080fd5b6157b287828601615152565b606083015250608083015160808201526157cf8660a085016156d3565b60a082015295945050505050565b6040815260006157f160408301868861504c565b828103602084015261540881858761504c565b60018060a01b038516815283602082015260606040820152600061296660608301848661504c565b60006040828403121561583e57600080fd5b60405161584a8161477e565b823561585581615413565b81526020830135615865816156be565b60208201529392505050565b60006020828403121561588357600080fd5b5051919050565b61ffff818116838216019080821115612fa357612fa3615023565b8082028115828204841417610d5057610d50615023565b634e487b7160e01b600052601260045260246000fd5b6000826158e1576158e16158bc565b500490565b7102bb4ba3732ba283934b1b2a332b2b2399d160751b8152600082516159138160128501602087016144db565b9190910160120192915050565b805160068110613c5c57600080fd5b60006080828403121561594157600080fd5b604051608081018181106001600160401b038211171561596357615963614768565b806040525082518152602083015160208201526040830151604082015261598c60608401615920565b60608201529392505050565b6000602082840312156159aa57600080fd5b81516001600160401b03808211156159c157600080fd5b9083019060a082860312156159d557600080fd5b6040516159e1816147c2565b82516159ec81614667565b815260208301516159fc816156be565b6020820152604083015163ffffffff81168114615a1857600080fd5b604082015260608381015190820152608083015182811115615a3957600080fd5b615a4587828601615152565b60808301525095945050505050565b600081615a6357615a63615023565b506000190190565b8135615a7681615413565b60ff8116905081548160ff1982161783556020840135615a95816156be565b68ffffffffffffffff008160081b168368ffffffffffffffffff198416171784555050505050565b604081018235615acc81615413565b60ff1682526020830135615adf816156be565b6001600160401b03811660208401525092915050565b6000838385526020808601955060208560051b8301018460005b8781101561457857848303601f19018952615b2a8288615075565b615b3585828461504c565b9a86019a9450505090830190600101615b0f565b6020808252818101839052600090600560408085019086831b86010187855b8881101561461157878303603f190184528135368b9003601e19018112615b8e57600080fd5b8a0186810190356001600160401b03811115615ba957600080fd5b80871b3603821315615bba57600080fd5b615bc5858284615af5565b958801959450505090850190600101615b68565b600060208284031215615beb57600080fd5b611a3382615920565b83815260406020820152600061313660408301848661504c565b600060208284031215615c2057600080fd5b8151611a3381615413565b600060033d11156124a75760046000803e5060005160e01c90565b600060443d1015615c545790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615c8357505050505090565b8285019150815181811115615c9b5750505050505090565b843d8701016020828501011115615cb55750505050505090565b615cc4602082860101876147e1565b509095945050505050565b8181036000831280158383131683831282161715612fa357612fa3615023565b82815260608101611a336020830184805160ff1682526020908101516001600160401b0316910152565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101613139565b6001600160401b0381811683821602808216919082811461394757613947615023565b60006001600160401b0380841680615d8557615d856158bc565b92169190910492915050565b600060208284031215615da357600080fd5b8135611a33816156be565b600060208284031215615dc057600080fd5b8135611a3381615413565b6001600160e01b03198316815260608101611a336020830184805160ff1682526020908101516001600160401b0316910152565b600060018201615e1157615e11615023565b506001019056fee36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ffe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200a26469706673582212203e7fbb58c1aeee77c9de4eec69bae3b301bcf27e150aa709ef2fbaf1834a4edc64736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106103505760003560e01c80638da5cb5b116101c6578063d5f39488116100f7578063f2fde38b11610095578063f9f34bb61161006f578063f9f34bb614610c7e578063fae91a5114610cab578063ff24fb4f14610ccb578063ff75890f14610ceb57610350565b8063f2fde38b14610c03578063f78eea8314610c23578063f9b4a27f14610c5e57610350565b8063e30c3978116100d1578063e30c397814610b7e578063eb92b29b14610b93578063ef1dff2b14610bb6578063f14cb81214610bd657610350565b8063d5f3948814610b13578063d6a3614f14610b47578063e1c9e3c014610b6957610350565b8063b411ee9411610164578063c064d3721161013e578063c064d37214610a79578063c3d98ea814610a99578063c5010d1714610ac6578063d3471e3414610ae657610350565b8063b411ee94146109ed578063b8d38c9614610a13578063bff852fa14610a3357610350565b8063a9e954b9116101a0578063a9e954b914610952578063abc86c6e14610986578063ac82c60814610999578063adb7c3f7146109b957610350565b80638da5cb5b146108f45780638df3fdfd14610912578063a55b471c1461093257610350565b80635be93984116102a057806379ba50971161023e57806384292f071161021857806384292f071461086557806386ac03e01461088557806389a87b16146108a55780638a416ea9146108d257610350565b806379ba50971461080e5780637b10399914610823578063806d7e8f1461083857610350565b80636b58960a1161027a5780636b58960a146107565780636d1178e514610776578063715018a6146107e457806375dadb32146107f957610350565b80635be93984146106c35780636175ff00146106e35780636ab221f81461072457610350565b806346d1d21a1161030d5780635001f3b5116102e75780635001f3b51461060857806352d1902d1461063b5780635479d9401461066f57806354fd4d50146106ae57610350565b806346d1d21a1461056257806349492ef1146105ae5780634efef9c0146105db57610350565b8063029db9581461048a5780630306732e146104bd57806303f3813d146104e1578063384ac938146105015780633e088e121461052f578063439fab9114610542575b34801561035c57600080fd5b506000356001600160e01b03191663e0d20f7360e01b14801561037e57503330145b156104365760006103a56020610394368461447a565b6001600160c01b031916901b610d0b565b600601546001600160a01b03169050806104115760405162461bcd60e51b815260206004820152602260248201527f5769746e6574507269636546656564733a20756e736574746c656420736f6c7660448201526132b960f11b60648201526084015b60405180910390fd5b60405136600082376000803683855af43d806000843e818015610432578184f35b8184fd5b60405162461bcd60e51b815260206004820152602160248201527f5769746e6574507269636546656564733a206e6f7420696d706c656d656e74656044820152601960fa1b6064820152608401610408565b005b34801561049657600080fd5b506104aa6104a53660046144be565b610d45565b6040519081526020015b60405180910390f35b3480156104c957600080fd5b506104d2610d56565b6040516104b493929190614585565b3480156104ed57600080fd5b506104886104fc3660046146c0565b610fb5565b34801561050d57600080fd5b5061052161051c3660046144be565b6113ab565b6040516104b4929190614744565b6104aa61053d3660046144be565b61147d565b34801561054e57600080fd5b5061048861055d3660046148a2565b6114b1565b34801561056e57600080fd5b506105967f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016104b4565b3480156105ba57600080fd5b506105ce6105c93660046144be565b6118a1565b6040516104b49190614900565b3480156105e757600080fd5b506105fb6105f63660046144be565b611951565b6040516104b49190614937565b34801561061457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610596565b34801561064757600080fd5b506104aa7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405190151581526020016104b4565b3480156106ba57600080fd5b506105fb611a3a565b3480156106cf57600080fd5b506104aa6106de3660046144be565b611a6a565b3480156106ef57600080fd5b506107177f000000000000000000000000000000000000000000000000000000000000000081565b6040516104b4919061495e565b34801561073057600080fd5b5061074461073f3660046144be565b611a7f565b60405160ff90911681526020016104b4565b34801561076257600080fd5b5061069e61077136600461496c565b611a97565b34801561078257600080fd5b5061078b611af2565b6040516104b49190600060a08201905060ff835116825260ff602084015116602083015260408301516001600160401b038082166040850152806060860151166060850152806080860151166080850152505092915050565b3480156107f057600080fd5b50610488611b4c565b34801561080557600080fd5b506105fb611b60565b34801561081a57600080fd5b50610488611b8b565b34801561082f57600080fd5b50610596611b93565b34801561084457600080fd5b506108586108533660046144be565b611c17565b6040516104b49190614a1f565b34801561087157600080fd5b50610488610880366004614b05565b611df8565b34801561089157600080fd5b506104886108a0366004614b50565b6120a6565b3480156108b157600080fd5b506108c56108c03660046144be565b612311565b6040516104b49190614b91565b3480156108de57600080fd5b506108e76123f0565b6040516104b49190614c20565b34801561090057600080fd5b506000546001600160a01b0316610596565b34801561091e57600080fd5b506104aa61092d3660046144be565b6124aa565b34801561093e57600080fd5b5061059661094d366004614c35565b6124bf565b34801561095e57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f6104aa565b6104aa610994366004614cb2565b612598565b3480156109a557600080fd5b506104886109b4366004614ce8565b612652565b3480156109c557600080fd5b506108e77f000000000000000000000000000000000000000000000000000000000000000081565b3480156109f957600080fd5b506108e7610a083660046148a2565b805160209091012090565b348015610a1f57600080fd5b50610488610a2e366004614d3e565b6126c6565b348015610a3f57600080fd5b5060408051808201909152601781527f5769746e65745072696365466565647344656661756c7400000000000000000060208201526105fb565b348015610a8557600080fd5b506104aa610a94366004614d62565b6126e6565b348015610aa557600080fd5b50610ab9610ab43660046144be565b6127a9565b6040516104b49190614db5565b348015610ad257600080fd5b5061069e610ae1366004614b50565b6129bc565b348015610af257600080fd5b50610b06610b013660046144be565b612abe565b6040516104b49190614dc3565b348015610b1f57600080fd5b506105967f000000000000000000000000000000000000000000000000000000000000000081565b348015610b5357600080fd5b50600080516020615e39833981519152546104aa565b348015610b7557600080fd5b50610488612b86565b348015610b8a57600080fd5b50610596612cfe565b348015610b9f57600080fd5b5060045460405161ffff90911681526020016104b4565b348015610bc257600080fd5b506105fb610bd13660046144be565b612d12565b348015610be257600080fd5b50610bf6610bf13660046144be565b612dad565b6040516104b49190614e1d565b348015610c0f57600080fd5b50610488610c1e36600461496c565b612dc0565b348015610c2f57600080fd5b50610c43610c3e366004614d62565b612dd4565b604080519384526020840192909252908201526060016104b4565b348015610c6a57600080fd5b50610b06610c793660046144be565b612e6e565b348015610c8a57600080fd5b50610c9e610c99366004614e2b565b612ed3565b6040516104b49190614e60565b348015610cb757600080fd5b50610488610cc6366004614eae565b612faa565b348015610cd757600080fd5b50610488610ce63660046146c0565b613051565b348015610cf757600080fd5b50610596610d06366004614c35565b6130b2565b6001600160e01b03191660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b6000610d5082613141565b92915050565b600080516020615e3983398151915280546040805160208084028201810190925282815260609384938493830182828015610ddd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610d9f5790505b5050505050925082516001600160401b03811115610dfd57610dfd614768565b604051908082528060200260200182016040528015610e3057816020015b6060815260200190600190039081610e1b5790505b50915082516001600160401b03811115610e4c57610e4c614768565b604051908082528060200260200182016040528015610e75578160200160208202803683370190505b50905060005b8351811015610faf576000610ea8858381518110610e9b57610e9b614eca565b6020026020010151610d0b565b9050806000018054610eb990614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee590614ee0565b8015610f325780601f10610f0757610100808354040283529160200191610f32565b820191906000526020600020905b815481529060010190602001808311610f1557829003601f168201915b5050505050848381518110610f4957610f49614eca565b602090810291909101015260068101546001600160a01b031615610f8357600681015460601b6bffffffffffffffffffffffff1916610f89565b80600501545b838381518110610f9b57610f9b614eca565b602090810291909101015250600101610e7b565b50909192565b610fbd613217565b6001600160a01b03831661101f5760405162461bcd60e51b815260206004820152602360248201527f5769746e6574507269636546656564733a206e6f20736f6c766572206164647260448201526265737360e81b6064820152608401610408565b600061106086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b9050600061106d82610d0b565b9050806002015460000361113d5780611087878983614f64565b506110928787613244565b60018201805460ff191660ff92909216919091179055600080516020615e198339815191526001908101546110c691615039565b60028201556006810180546001600160a01b0319166001600160a01b038716179055600080516020615e198339815191526001908101805491820181556000908152602090206008820401805463ffffffff60079093166004026101000a928302191660e085901c92909202919091179055611179565b60068101546001600160a01b0386811691161461117957600060058201556006810180546001600160a01b0319166001600160a01b0387161790555b600080866001600160a01b031663e6f8715860e01b8588886040516024016111a3939291906150ba565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516111e19190615136565b600060405180830381855af49150503d806000811461121c576040519150601f19603f3d011682016040523d82523d6000602084013e611221565b606091505b50915091508161127b576004810190508080602001905181019061124591906151aa565b60405160200161125591906151de565b60408051601f198184030181529082905262461bcd60e51b825261040891600401614937565b5050600080306001600160a01b031663e0d20f7360e01b856040516024016112a39190614c20565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112e19190615136565b600060405180830381855afa9150503d806000811461131c576040519150601f19603f3d011682016040523d82523d6000602084013e611321565b606091505b509150915081611355576004810190508080602001905181019061134591906151aa565b6040516020016112559190615241565b5050604080516001600160e01b0319841681526001600160a01b03871660208201527f850802cc670161a9f185e45414c2fe7efb5e71b23a8e32a53caffb7dd000aca3910160405180910390a150505050505050565b600060606113b883610d0b565b600601546001600160a01b0316915060006113d28461332a565b905080516001600160401b038111156113ed576113ed614768565b60405190808252806020026020018201604052801561142057816020015b606081526020019060019003908161140b5790505b50915060005b81518110156114765761145182828151811061144457611444614eca565b6020026020010151612d12565b83828151811061146357611463614eca565b6020908102919091010152600101611426565b5050915091565b6040805180820190915260035460ff8116825261010090046001600160401b03166020820152600090610d50908390613414565b6000546001600160a01b03168061152a57818060200190518101906114d69190615294565b90506114e18161394f565b60408051808201909152600a808252630bebc2006020909201919091526003805468ffffffffffffffffff1916640bebc2000a1790556004805461ffff19169091179055611582565b336001600160a01b038216146115825760405162461bcd60e51b815260206004820152601f60248201527f5769746e6574507269636546656564733a206e6f7420746865206f776e6572006044820152606401610408565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906115f357507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561164b5760405162461bcd60e51b815260206004820152602260248201527f5769746e6574507269636546656564733a20616c726561647920757067726164604482015261195960f21b6064820152608401610408565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b6117125760405162461bcd60e51b815260206004820152602360248201527f5769746e6574507269636546656564733a20696e6578697374656e74206f7261604482015262636c6560e81b6064820152608401610408565b63baeca88b60e01b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a691906152b1565b6001600160e01b031916146118095760405162461bcd60e51b8152602060048201526024808201527f5769746e6574507269636546656564733a20756e636f6d706c69616e74206f7260448201526361636c6560e01b6064820152608401610408565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611888611a3a565b6040516118959190614937565b60405180910390a45050565b6040805180820190915260008152606060208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a77fc1a46118ee84611a6a565b6040518263ffffffff1660e01b815260040161190c91815260200190565b600060405180830381865afa158015611929573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5091908101906152ce565b6060600061195e83610d0b565b60058101549091506000036119b55760405162461bcd60e51b815260206004820152601d60248201527f5769746e6574507269636546656564733a206e6f2052414420686173680000006044820152606401610408565b6119bd611b93565b6001600160a01b0316632ebf5d5c82600501546040518263ffffffff1660e01b81526004016119ee91815260200190565b600060405180830381865afa158015611a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a3391908101906151aa565b9392505050565b6060611a657f0000000000000000000000000000000000000000000000000000000000000000613968565b905090565b6000611a7582610d0b565b6004015492915050565b6000611a8a82610d0b565b6001015460ff1692915050565b600080611aac6000546001600160a01b031690565b90507f00000000000000000000000000000000000000000000000000000000000000008015611a335750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040805180820190915260035460ff8116825261010090046001600160401b03166020820152611a6590613a0c565b611b54613217565b611b5e600061394f565b565b6060611a657f0000000000000000000000000000000000000000000000000000000000000000613ab3565b611b5e613b57565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a659190615294565b60606000611c23611b93565b6001600160a01b031663a83e942c611c3a856124aa565b6040518263ffffffff1660e01b8152600401611c5891815260200190565b600060405180830381865afa158015611c75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c9d9190810190615378565b905080516001600160401b03811115611cb857611cb8614768565b604051908082528060200260200182016040528015611d2a57816020015b611d176040805160e0810190915260008082526020820190815260200160008152602001606081526020016060815260200160608152602001606081525090565b815260200190600190039081611cd65790505b50915060005b8251811015611df157611d41611b93565b6001600160a01b0316639dd48757838381518110611d6157611d61614eca565b60200260200101516040518263ffffffff1660e01b8152600401611d8791815260200190565b600060405180830381865afa158015611da4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dcc9190810190615543565b838281518110611dde57611dde614eca565b6020908102919091010152600101611d30565b5050919050565b611e00613217565b7f00000000000000000000000000000000000000000000000000000000000000006013811115611e3257611e326148ea565b611e3a611b93565b6001600160a01b0316634c729104836040518263ffffffff1660e01b8152600401611e6791815260200190565b602060405180830381865afa158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea8919061564e565b6013811115611eb957611eb96148ea565b14611f155760405162461bcd60e51b815260206004820152602660248201527f5769746e6574507269636546656564733a2062616420726573756c742064617460448201526561207479706560d01b6064820152608401610408565b6000611f5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b90506000611f6382610d0b565b905080600201546000036120375780611f7d858783614f64565b50611f888585613244565b60018201805460ff191660ff92909216919091179055600080516020615e19833981519152600190810154611fbc91615039565b600282015560058101839055600080516020615e3983398151915280546001810182556000919091527fb7ef506da7909f25321b247725840c95fced7275a59588a4236c0671ab1d82216008820401805463ffffffff60079093166004026101000a928302191660e085901c9290920291909117905561205c565b8281600501541461205c57600581018390556006810180546001600160a01b03191690555b604080516001600160e01b031984168152602081018590527f37206f9df7db3fe5c4edfea9c5ce9ea406912fc4133f5c67200273da0c09e7b1910160405180910390a15050505050565b6120ae613217565b60006120ef83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b9050600080516020615e39833981519152600061210b83610d0b565b600281015490915060008190036121645760405162461bcd60e51b815260206004820152601e60248201527f5769746e6574507269636546656564733a20756e6b6e6f776e206665656400006044820152606401610408565b8254600090849061217790600190615669565b8154811061218757612187614eca565b6000918252602090912060088204015460079091166004026101000a900460e01b905080846121b7600185615669565b815481106121c7576121c7614eca565b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550838054806122075761220761567c565b600082815260209020600860001990920191820401805463ffffffff600460078516026101000a021916905590558161223f82610d0b565b600201556001600160e01b0319851660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602052604081209061228682826143c7565b5060018101805460ff191690556000600282018190556003820181905560048201819055600582018190556006820180546001600160a01b031916905560078201819055600890910155506040517f5296cc0e8dad8eeece6ce7d0928746294283b850d6261e03e7028a84de61f0b690612301908690614c20565b60405180910390a1505050505050565b6123556040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630aa4112a61238d84611a6a565b6040518263ffffffff1660e01b81526004016123ab91815260200190565b600060405180830381865afa1580156123c8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d50919081019061571c565b600080516020615e3983398151915254600090156124a757612457600080516020615e1983398151915260010160008154811061242f5761242f614eca565b90600052602060002090600891828204019190066004029054906101000a900460e01b613bd2565b905060015b600080516020615e39833981519152548110156124a557612499600080516020615e19833981519152600101828154811061242f5761242f614eca565b9091189060010161245c565b505b90565b60006124b582610d0b565b6005015492915050565b60006124c9613217565b604051632956d1c760e21b815273__WitnetPriceFeedsLib___________________9063a55b471c906125069088908890889088906004016157dd565b602060405180830381865af4158015612523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125479190615294565b90507f3c07c0cbdabca8310d65b09f79c58655b46c3035d57c452177e3d49972ff5cec81826001600160a01b03163f85856040516125889493929190615804565b60405180910390a1949350505050565b6040805180820190915260035460ff8116825261010090046001600160401b031660208201526000906125e4906125d43685900385018561582c565b9051905160ff9182169116101590565b61263a5760405162461bcd60e51b815260206004820152602160248201527f5769746e6574507269636546656564733a20756e7365637572652075706461746044820152606560f81b6064820152608401610408565b611a338361264d3685900385018561582c565b613414565b61265a613217565b6126c18383836001600160a01b0316631eef90526040518163ffffffff1660e01b8152600401602060405180830381865afa15801561269d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108809190615871565b505050565b6126ce613217565b6004805461ffff191661ffff92909216919091179055565b6004546000906064906126fd9061ffff168261588a565b604051630f7b104360e31b8152600481018590526020602482015261ffff91909116906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637bd8821890604401602060405180830381865afa158015612771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127959190615871565b61279f91906158a5565b610d5091906158d2565b6127d16040805160808101825260008082526020820181905291810182905290606082015290565b60006127dc83613141565b9050801561285a5760006127ef84612e6e565b905060006128008260800151613c61565b9050604051806080016040528061281683613c7f565b8152602001836040015163ffffffff1681526020018360600151815260200161283e87612dad565b600581111561284f5761284f6148ea565b905295945050505050565b600061286584610d0b565b600601546001600160a01b03169050801561297057600080306001600160a01b031663e0d20f7360e01b876040516024016128a09190614c20565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516128de9190615136565b600060405180830381855afa9150503d8060008114612919576040519150601f19603f3d011682016040523d82523d6000602084013e61291e565b606091505b509150915081612952576004810190508080602001905181019061294291906151aa565b60405160200161125591906158e6565b80806020019051810190612966919061592f565b9695505050505050565b604051806080016040528060008152602001600081526020016000801b815260200161299b86612dad565b60058111156129ac576129ac6148ea565b9052949350505050565b50919050565b6000806129fe84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0892505050565b90506001600160e01b03198116612aab612a1783610d0b565b8054612a2290614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054612a4e90614ee0565b8015612a9b5780601f10612a7057610100808354040283529160200191612a9b565b820191906000526020600020905b815481529060010190602001808311612a7e57829003601f168201915b5050505050805160209091012090565b6001600160e01b03191614949350505050565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f61921b2612b2384611a6a565b6040518263ffffffff1660e01b8152600401612b4191815260200190565b600060405180830381865afa158015612b5e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d509190810190615998565b612b8e613217565b600080516020615e3983398151915280545b8015612cfa57600082612bb4600184615669565b81548110612bc457612bc4614eca565b90600052602060002090600891828204019190066004029054906101000a900460e01b9050612bfe600080516020615e1983398151915290565b6001600160e01b0319821660009081526002919091016020526040812090612c2682826143c7565b5060018101805460ff191690556000600282018190556003820181905560048201819055600582018190556006820180546001600160a01b0319169055600782018190556008909101558254839080612c8157612c8161567c565b600082815260209020600860001990920191820401805463ffffffff600460078516026101000a021916905590556040517f5296cc0e8dad8eeece6ce7d0928746294283b850d6261e03e7028a84de61f0b690612cdf908390614c20565b60405180910390a15080612cf281615a54565b915050612ba0565b5050565b6000611a656001546001600160a01b031690565b6060612d1d82610d0b565b8054612d2890614ee0565b80601f0160208091040260200160405190810160405280929190818152602001828054612d5490614ee0565b8015612da15780601f10612d7657610100808354040283529160200191612da1565b820191906000526020600020905b815481529060010190602001808311612d8457829003601f168201915b50505050509050919050565b6000610d50612dbb83611a6a565b613cfb565b612dc8613217565b612dd181613d94565b50565b600080600080612de3856127a9565b8051602082015191925090600283606001516005811115612e0657612e066148ea565b14612e5857600183606001516005811115612e2357612e236148ea565b1480612e445750600483606001516005811115612e4257612e426148ea565b145b612e5057610190612e5b565b610194612e5b565b60c85b919550935061ffff169150509193909250565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f61921b2612b2384613141565b6060816001600160401b03811115612eed57612eed614768565b604051908082528060200260200182016040528015612f4657816020015b612f336040805160808101825260008082526020820181905291810182905290606082015290565b815260200190600190039081612f0b5790505b50905060005b82811015612fa357612f7e848483818110612f6957612f69614eca565b9050602002016020810190610ab491906144be565b828281518110612f9057612f90614eca565b6020908102919091010152600101612f4c565b5092915050565b612fb2613217565b612fbb81613dc6565b6130075760405162461bcd60e51b815260206004820152601d60248201527f5769746e6574507269636546656564733a20696e76616c696420534c410000006044820152606401610408565b8060036130148282615a6b565b9050507f084efe053ac15af09a2db38bb176035f1d94cbc8a775c7761e662f7f11ae6940816040516130469190615abd565b60405180910390a150565b613059613217565b6130ab8585856001600160a01b031663bf7a0bd386866040518363ffffffff1660e01b815260040161308c929190615b49565b6020604051808303816000875af115801561269d573d6000803e3d6000fd5b5050505050565b6040516001628a76f160e01b0319815260009073__WitnetPriceFeedsLib___________________9063ff75890f906130f59088908890889088906004016157dd565b602060405180830381865af4158015613112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131369190615294565b90505b949350505050565b60008061314d83611a6a565b90506000811180156131f85750600260405163234fe6e360e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063234fe6e390602401602060405180830381865afa1580156131c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e59190615bd9565b60058111156131f6576131f66148ea565b145b156132035792915050565b61320c83610d0b565b600301549392505050565b6000546001600160a01b03163314611b5e5760405163118cdaa760e01b8152336004820152602401610408565b60405163e78d44d960e01b815260009073__WitnetPriceFeedsLib___________________9063e78d44d9906132a2907f00000000000000000000000000000000000000000000000000000000000000009087908790600401615bf4565b602060405180830381865af49250505080156132db575060408051601f3d908101601f191682019092526132d891810190615c0e565b60015b613323576132e7615c2b565b806308c379a00361331757506132fb615c46565b806133065750613319565b8060405160200161125591906158e6565b505b3d6000803e3d6000fd5b9050610d50565b6001600160e01b0319811660009081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602090815260409182902060089081015483518281526101208101909452606093909290919082016101008036833701905050915060005b600881101561340c57818382815181106133af576133af614eca565b60200260200101906001600160e01b03191690816001600160e01b031916815250508281815181106133e3576133e3614eca565b60209081029190910101516001600160e01b0319161561340c57602082901b9150600101613393565b825250919050565b60008061342084610d0b565b600581015490915015613895576134363a6126e6565b9150813410156134965760405162461bcd60e51b815260206004820152602560248201527f5769746e6574507269636546656564733a20696e73756666696369656e742072604482015264195dd85c9960da1b6064820152608401610408565b600481015460006134a682613cfb565b905060018160058111156134bc576134bc6148ea565b0361364f57604051630552089560e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630aa4112a90602401600060405180830381865afa158015613529573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613551919081019061571c565b9050600085826040015160080b6135689190615ccf565b90506000811315613643578095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ec5946db87866040518363ffffffff1660e01b81526004016135c591815260200190565b6000604051808303818588803b1580156135de57600080fd5b505af11580156135f2573d6000803e3d6000fd5b505060408051888152602081018b90526001600160e01b03198d1694503293507fc75bbe35e1d3486439c776ccf0fb47aede3d28e1bf548e01357b57132974cd9692500160405180910390a3613648565b600095505b505061388e565b6002816005811115613663576136636148ea565b036137155760038301541561370957600383015460405163045bf42f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906308b7e85e906024016000604051808303816000875af11580156136df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137079190810190615998565b505b600383018290556137a4565b60405163045bf42f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906308b7e85e906024016000604051808303816000875af192505050801561379d57506040513d6000823e601f3d908101601f1916820160405261379a9190810190615998565b60015b156137a457505b6005830154604051631ee15bd160e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633dc2b7a29187916137f7918a90600401615cef565b60206040518083038185885af1158015613815573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061383a9190615871565b600484018190556040519092506001600160e01b031987169032907e9bd781be3a9c4660642983aa92bc7a7484c4b0cb0c2afa0f9174c74061d5039061388590869089908b90615d19565b60405180910390a35b5050613909565b60068101546001600160a01b0316156138c1576138ba6138b48561332a565b84613e1f565b9150613909565b60405162461bcd60e51b815260206004820152601e60248201527f5769746e6574507269636546656564733a20756e6b6e6f776e206665656400006044820152606401610408565b34821015612fa357336108fc61391f8434615669565b6040518115909202916000818181858888f19350505050158015613947573d6000803e3d6000fd5b505092915050565b600180546001600160a01b0319169055612dd181613edc565b6060600061397583613f2c565b6001600160401b0381111561398c5761398c614768565b6040519080825280601f01601f1916602001820160405280156139b6576020820181803683370190505b50905060005b8151811015612fa3578381602081106139d7576139d7614eca565b1a60f81b8282815181106139ed576139ed614eca565b60200101906001600160f81b031916908160001a9053506001016139bc565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526040518060a00160405280836000015160ff168152602001603360ff16815260200183602001516001600160401b0316815260200183602001516064613a7d9190615d48565b6001600160401b03168152602001836000015160ff168460200151613aa29190615d6b565b6001600160401b0316905292915050565b60606000613ac083613f65565b6001600160401b03811115613ad757613ad7614768565b6040519080825280601f01601f191660200182016040528015613b01576020820181803683370190505b50905060005b8151811015612fa357838160208110613b2257613b22614eca565b1a60f81b828281518110613b3857613b38614eca565b60200101906001600160f81b031916908160001a905350600101613b07565b3380613b61612cfe565b6001600160a01b031614613bc95760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610408565b612dd18161394f565b600080613bde83610d0b565b6005015414613c2e5781613bf183610d0b565b60050154604080516001600160e01b031990931660208401528201526060015b604051602081830303815290604052805190602001209050919050565b81613c3883610d0b565b60080154604080516001600160e01b03199093166020840152820152606001613c11565b919050565b613c69614406565b6000613c7483613f9e565b9050611a3381613fc3565b6000818060000151613cee5760405162461bcd60e51b815260206004820152603260248201527f5769746e65743a20747269656420746f206465636f64652076616c756520667260448201527137b69032b93937b932b2103932b9bab63a1760711b6064820152608401610408565b611a338360200151613ff7565b60008115613d8c5760405163234fe6e360e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063234fe6e390602401602060405180830381865afa158015613d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190615bd9565b506002919050565b613d9c613217565b6001600160a01b038116613bc957604051631e4fbdf760e01b815260006004820152602401610408565b600080613dd96040840160208501615d91565b6001600160401b0316118015613dfe57506000613df96020840184615dae565b60ff16115b8015610d505750607f613e146020840184615dae565b60ff16111592915050565b600080835134613e2f91906158d2565b905060005b845181101561394757306001600160a01b031663abc86c6e83878481518110613e5f57613e5f614eca565b6020026020010151876040518463ffffffff1660e01b8152600401613e85929190615dcb565b60206040518083038185885af1158015613ea3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613ec89190615871565b613ed29084615039565b9250600101613e34565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6020811015613c5c57818160208110613f4a57613f4a614eca565b1a60f81b6001600160f81b03191615613c5c57600101613f2f565b60005b6020811015613c5c57818160208110613f8357613f83614eca565b1a60f81b6001600160f81b03191615613c5c57600101613f68565b613fa661441e565b6040805180820190915282815260006020820152611a338161405a565b613fcb614406565b5060a0810151604080518082019091526001600160401b03909116602714158152602081019190915290565b60008160008060ff16826040015160ff161461403757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610408565b6140498460000151856060015161417a565b6001600160401b0316949350505050565b61406261441e565b8151518290600003614087576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b801561410a576140a78961423b565b9550816140b381615dff565b6007600589901c169650601f8816955092505060051985016141025760208901516140de8a8661417a565b9350808a602001516140f09190615669565b6140fa9084615039565b925050614098565b506000614098565b600760ff861611156141345760405163bd2ac87960e01b815260ff86166004820152602401610408565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015614192575060ff8116610d50565b8160ff166018036141b0576141a68361423b565b60ff169050610d50565b8160ff166019036141cf576141c48361429d565b61ffff169050610d50565b8160ff16601a036141f0576141e383614309565b63ffffffff169050610d50565b8160ff16601b036142045761332383614368565b8160ff16601f0361421d57506001600160401b03610d50565b604051636d785b1360e01b815260ff83166004820152602401610408565b6000816020015182600001515180821115614273576040516363a056dd60e01b81526004810183905260248101829052604401610408565b835160208501805180830160010151955090819061429082615dff565b8152505050505050919050565b6000816020015160026142b09190615039565b825151808211156142de576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516002818401810151965090916142fc8284615039565b9052509395945050505050565b60008160200151600461431c9190615039565b8251518082111561434a576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516004818401810151965090916142fc8284615039565b60008160200151600861437b9190615039565b825151808211156143a9576040516363a056dd60e01b81526004810183905260248101829052604401610408565b83516020850180516008818401810151965090916142fc8284615039565b5080546143d390614ee0565b6000825580601f106143e3575050565b601f016020900490600052602060002090810190612dd19190614465565b905290565b60405180604001604052806000151581526020016144015b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b808211156124a55760008155600101614466565b6001600160c01b031981358181169160088510156139475760089490940360031b84901b1690921692915050565b6001600160e01b031981168114612dd157600080fd5b6000602082840312156144d057600080fd5b8135611a33816144a8565b60005b838110156144f65781810151838201526020016144de565b50506000910152565b600081518084526145178160208601602086016144db565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561457857601f198684030189526145668383516144ff565b9884019892509083019060010161454a565b5090979650505050505050565b606080825284519082018190526000906020906080840190828801845b828110156145c85781516001600160e01b031916845292840192908401906001016145a2565b505050838103828501526145dc818761452b565b8481036040860152855180825283870192509083019060005b81811015614611578351835292840192918401916001016145f5565b509098975050505050505050565b60008083601f84011261463157600080fd5b5081356001600160401b0381111561464857600080fd5b60208301915083602082850101111561466057600080fd5b9250929050565b6001600160a01b0381168114612dd157600080fd5b60008083601f84011261468e57600080fd5b5081356001600160401b038111156146a557600080fd5b6020830191508360208260051b850101111561466057600080fd5b6000806000806000606086880312156146d857600080fd5b85356001600160401b03808211156146ef57600080fd5b6146fb89838a0161461f565b90975095506020880135915061471082614667565b9093506040870135908082111561472657600080fd5b506147338882890161467c565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190526000906131399083018461452b565b634e487b7160e01b600052604160045260246000fd5b604081018181106001600160401b038211171561479d5761479d614768565b60405250565b60c081018181106001600160401b038211171561479d5761479d614768565b60a081018181106001600160401b038211171561479d5761479d614768565b601f8201601f191681016001600160401b038111828210171561480657614806614768565b6040525050565b60405160e081016001600160401b038111828210171561482f5761482f614768565b60405290565b60006001600160401b0382111561484e5761484e614768565b50601f01601f191660200190565b600061486783614835565b60405161487482826147e1565b80925084815285858501111561488957600080fd5b8484602083013760006020868301015250509392505050565b6000602082840312156148b457600080fd5b81356001600160401b038111156148ca57600080fd5b8201601f810184136148db57600080fd5b6131398482356020840161485c565b634e487b7160e01b600052602160045260246000fd5b602081526000825160ff8110614918576149186148ea565b80602084015250602083015160408084015261313960608401826144ff565b602081526000611a3360208301846144ff565b6014811061495a5761495a6148ea565b9052565b60208101610d50828461494a565b60006020828403121561497e57600080fd5b8135611a3381614667565b6005811061495a5761495a6148ea565b600082825180855260208086019550808260051b8401018186016000805b85811015614a1157868403601f19018a5282518460408101845b60028110156149fc5787820383526149ea8285516144ff565b938901939289019291506001016149d1565b509b87019b95505050918401916001016149b7565b509198975050505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561461157603f19898403018552815160e060ff825116855288820151614a748a870182614989565b5087820151614a858987018261494a565b506060808301518282880152614a9d838801826144ff565b9250505060808083015186830382880152614ab883826144ff565b9250505060a08083015186830382880152614ad38382614999565b9250505060c08083015192508582038187015250614af181836144ff565b968901969450505090860190600101614a48565b600080600060408486031215614b1a57600080fd5b83356001600160401b03811115614b3057600080fd5b614b3c8682870161461f565b909790965060209590950135949350505050565b60008060208385031215614b6357600080fd5b82356001600160401b03811115614b7957600080fd5b614b858582860161461f565b90969095509350505050565b6020815260018060a01b03825116602082015262ffffff602083015116604082015268ffffffffffffffffff60408301511660608201526000606083015160e06080840152614be46101008401826144ff565b9050608084015160a084015260a0840151614c1860c0850182805160ff1682526020908101516001600160401b0316910152565b509392505050565b6001600160e01b031991909116815260200190565b60008060008060408587031215614c4b57600080fd5b84356001600160401b0380821115614c6257600080fd5b614c6e8883890161461f565b90965094506020870135915080821115614c8757600080fd5b50614c948782880161461f565b95989497509550505050565b6000604082840312156129b657600080fd5b60008060608385031215614cc557600080fd5b8235614cd0816144a8565b9150614cdf8460208501614ca0565b90509250929050565b600080600060408486031215614cfd57600080fd5b83356001600160401b03811115614d1357600080fd5b614d1f8682870161461f565b9094509250506020840135614d3381614667565b809150509250925092565b600060208284031215614d5057600080fd5b813561ffff81168114611a3357600080fd5b600060208284031215614d7457600080fd5b5035919050565b6006811061495a5761495a6148ea565b80518252602081015160208301526040810151604083015260608101516126c16060840182614d7b565b60808101610d508284614d8b565b6020815260018060a01b0382511660208201526001600160401b03602083015116604082015263ffffffff6040830151166060820152606082015160808201526000608083015160a08084015261313960c08401826144ff565b60208101610d508284614d7b565b60008060208385031215614e3e57600080fd5b82356001600160401b03811115614e5457600080fd5b614b858582860161467c565b6020808252825182820181905260009190848201906040850190845b81811015614ea257614e8f838551614d8b565b9284019260809290920191600101614e7c565b50909695505050505050565b600060408284031215614ec057600080fd5b611a338383614ca0565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680614ef457607f821691505b6020821081036129b657634e487b7160e01b600052602260045260246000fd5b601f8211156126c1576000816000526020600020601f850160051c81016020861015614f3d5750805b601f850160051c820191505b81811015614f5c57828155600101614f49565b505050505050565b6001600160401b03831115614f7b57614f7b614768565b614f8f83614f898354614ee0565b83614f14565b6000601f841160018114614fc35760008515614fab5750838201355b600019600387901b1c1916600186901b1783556130ab565b600083815260209020601f19861690835b82811015614ff45786850135825560209485019460019092019101614fd4565b50868210156150115760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d5057610d50615023565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261508c57600080fd5b83016020810192503590506001600160401b038111156150ab57600080fd5b80360382131561466057600080fd5b60006040820163ffffffff60e01b861683526020604060208501528185835260608501905060608660051b86010192508660005b8781101561512857868503605f19018352615109828a615075565b61511487828461504c565b9650505091830191908301906001016150ee565b509298975050505050505050565b600082516151488184602087016144db565b9190910192915050565b600082601f83011261516357600080fd5b815161516e81614835565b60405161517b82826147e1565b82815285602084870101111561519057600080fd5b6151a18360208301602088016144db565b95945050505050565b6000602082840312156151bc57600080fd5b81516001600160401b038111156151d257600080fd5b61313984828501615152565b7f5769746e657450726963654665656455706772616461626c653a20736f6c7665815274039103b30b634b230ba34b7b7103330b4b632b21d1605d1b6020820152600082516152348160358501602087016144db565b9190910160350192915050565b7f5769746e6574507269636546656564733a20736d6f6b652d746573742066616981526403632b21d160dd1b6020820152600082516152878160258501602087016144db565b9190910160250192915050565b6000602082840312156152a657600080fd5b8151611a3381614667565b6000602082840312156152c357600080fd5b8151611a33816144a8565b6000602082840312156152e057600080fd5b81516001600160401b03808211156152f757600080fd5b908301906040828603121561530b57600080fd5b6040516153178161477e565b825160ff811061532657600080fd5b815260208301518281111561533a57600080fd5b61534687828601615152565b60208301525095945050505050565b60006001600160401b0382111561536e5761536e614768565b5060051b60200190565b6000602080838503121561538b57600080fd5b82516001600160401b038111156153a157600080fd5b8301601f810185136153b257600080fd5b80516153bd81615355565b6040516153ca82826147e1565b82815260059290921b83018401918481019150878311156153ea57600080fd5b928401925b82841015615408578351825292840192908401906153ef565b979650505050505050565b60ff81168114612dd157600080fd5b8051613c5c81615413565b805160058110613c5c57600080fd5b805160148110613c5c57600080fd5b600082601f83011261545c57600080fd5b8151602061546982615355565b60405161547682826147e1565b83815260059390931b850182019282810191508684111561549657600080fd5b8286015b848110156155385780516001600160401b03808211156154ba5760008081fd5b818901915089603f8301126154cf5760008081fd5b6040516154db8161477e565b80606084018c8111156154ee5760008081fd5b8885015b818110156155265780518581111561550a5760008081fd5b6155188f8c838a0101615152565b8452509189019189016154f2565b5050508552505091830191830161549a565b509695505050505050565b60006020828403121561555557600080fd5b81516001600160401b038082111561556c57600080fd5b9083019060e0828603121561558057600080fd5b61558861480d565b61559183615422565b815261559f6020840161542d565b60208201526155b06040840161543c565b60408201526060830151828111156155c757600080fd5b6155d387828601615152565b6060830152506080830151828111156155eb57600080fd5b6155f787828601615152565b60808301525060a08301518281111561560f57600080fd5b61561b8782860161544b565b60a08301525060c08301518281111561563357600080fd5b61563f87828601615152565b60c08301525095945050505050565b60006020828403121561566057600080fd5b611a338261543c565b81810381811115610d5057610d50615023565b634e487b7160e01b600052603160045260246000fd5b805162ffffff81168114613c5c57600080fd5b805168ffffffffffffffffff81168114613c5c57600080fd5b6001600160401b0381168114612dd157600080fd5b6000604082840312156156e557600080fd5b6040516156f18161477e565b80915082516156ff81615413565b8152602083015161570f816156be565b6020919091015292915050565b60006020828403121561572e57600080fd5b81516001600160401b038082111561574557600080fd5b9083019060e0828603121561575957600080fd5b604051615765816147a3565b825161577081614667565b815261577e60208401615692565b602082015261578f604084016156a5565b60408201526060830151828111156157a657600080fd5b6157b287828601615152565b606083015250608083015160808201526157cf8660a085016156d3565b60a082015295945050505050565b6040815260006157f160408301868861504c565b828103602084015261540881858761504c565b60018060a01b038516815283602082015260606040820152600061296660608301848661504c565b60006040828403121561583e57600080fd5b60405161584a8161477e565b823561585581615413565b81526020830135615865816156be565b60208201529392505050565b60006020828403121561588357600080fd5b5051919050565b61ffff818116838216019080821115612fa357612fa3615023565b8082028115828204841417610d5057610d50615023565b634e487b7160e01b600052601260045260246000fd5b6000826158e1576158e16158bc565b500490565b7102bb4ba3732ba283934b1b2a332b2b2399d160751b8152600082516159138160128501602087016144db565b9190910160120192915050565b805160068110613c5c57600080fd5b60006080828403121561594157600080fd5b604051608081018181106001600160401b038211171561596357615963614768565b806040525082518152602083015160208201526040830151604082015261598c60608401615920565b60608201529392505050565b6000602082840312156159aa57600080fd5b81516001600160401b03808211156159c157600080fd5b9083019060a082860312156159d557600080fd5b6040516159e1816147c2565b82516159ec81614667565b815260208301516159fc816156be565b6020820152604083015163ffffffff81168114615a1857600080fd5b604082015260608381015190820152608083015182811115615a3957600080fd5b615a4587828601615152565b60808301525095945050505050565b600081615a6357615a63615023565b506000190190565b8135615a7681615413565b60ff8116905081548160ff1982161783556020840135615a95816156be565b68ffffffffffffffff008160081b168368ffffffffffffffffff198416171784555050505050565b604081018235615acc81615413565b60ff1682526020830135615adf816156be565b6001600160401b03811660208401525092915050565b6000838385526020808601955060208560051b8301018460005b8781101561457857848303601f19018952615b2a8288615075565b615b3585828461504c565b9a86019a9450505090830190600101615b0f565b6020808252818101839052600090600560408085019086831b86010187855b8881101561461157878303603f190184528135368b9003601e19018112615b8e57600080fd5b8a0186810190356001600160401b03811115615ba957600080fd5b80871b3603821315615bba57600080fd5b615bc5858284615af5565b958801959450505090850190600101615b68565b600060208284031215615beb57600080fd5b611a3382615920565b83815260406020820152600061313660408301848661504c565b600060208284031215615c2057600080fd5b8151611a3381615413565b600060033d11156124a75760046000803e5060005160e01c90565b600060443d1015615c545790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615c8357505050505090565b8285019150815181811115615c9b5750505050505090565b843d8701016020828501011115615cb55750505050505090565b615cc4602082860101876147e1565b509095945050505050565b8181036000831280158383131683831282161715612fa357612fa3615023565b82815260608101611a336020830184805160ff1682526020908101516001600160401b0316910152565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101613139565b6001600160401b0381811683821602808216919082811461394757613947615023565b60006001600160401b0380841680615d8557615d856158bc565b92169190910492915050565b600060208284031215615da357600080fd5b8135611a33816156be565b600060208284031215615dc057600080fd5b8135611a3381615413565b6001600160e01b03198316815260608101611a336020830184805160ff1682526020908101516001600160401b0316910152565b600060018201615e1157615e11615023565b506001019056fee36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ffe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200a26469706673582212203e7fbb58c1aeee77c9de4eec69bae3b301bcf27e150aa709ef2fbaf1834a4edc64736f6c63430008190033",
  "immutableReferences": {
    "650": [
      {
        "length": 32,
        "start": 1781
      },
      {
        "length": 32,
        "start": 7682
      }
    ],
    "691": [
      {
        "length": 32,
        "start": 7015
      },
      {
        "length": 32,
        "start": 12918
      }
    ],
    "3715": [
      {
        "length": 32,
        "start": 6721
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2853
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1613
      }
    ],
    "7066": [
      {
        "length": 32,
        "start": 2507
      }
    ],
    "7070": [
      {
        "length": 32,
        "start": 1396
      },
      {
        "length": 32,
        "start": 5777
      },
      {
        "length": 32,
        "start": 5926
      },
      {
        "length": 32,
        "start": 6328
      },
      {
        "length": 32,
        "start": 7063
      },
      {
        "length": 32,
        "start": 9047
      },
      {
        "length": 32,
        "start": 10026
      },
      {
        "length": 32,
        "start": 10989
      },
      {
        "length": 32,
        "start": 11933
      },
      {
        "length": 32,
        "start": 12658
      },
      {
        "length": 32,
        "start": 13530
      },
      {
        "length": 32,
        "start": 13688
      },
      {
        "length": 32,
        "start": 13966
      },
      {
        "length": 32,
        "start": 14123
      },
      {
        "length": 32,
        "start": 14272
      },
      {
        "length": 32,
        "start": 15641
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1559
      },
      {
        "length": 32,
        "start": 2401
      },
      {
        "length": 32,
        "start": 5585
      },
      {
        "length": 32,
        "start": 5709
      },
      {
        "length": 32,
        "start": 6155
      },
      {
        "length": 32,
        "start": 6189
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1662
      },
      {
        "length": 32,
        "start": 6832
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1153:84",
        "nodeType": "YulBlock",
        "src": "0:1153:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "146:401:84",
              "nodeType": "YulBlock",
              "src": "146:401:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "192:16:84",
                    "nodeType": "YulBlock",
                    "src": "192:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "201:1:84",
                              "nodeType": "YulLiteral",
                              "src": "201:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "204:1:84",
                              "nodeType": "YulLiteral",
                              "src": "204:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "194:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "194:6:84"
                          },
                          "nativeSrc": "194:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "194:12:84"
                        },
                        "nativeSrc": "194:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "194:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "167:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "167:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "176:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "176:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "163:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "163:3:84"
                        },
                        "nativeSrc": "163:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "163:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "188:2:84",
                        "nodeType": "YulLiteral",
                        "src": "188:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "159:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "159:3:84"
                    },
                    "nativeSrc": "159:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "159:32:84"
                  },
                  "nativeSrc": "156:52:84",
                  "nodeType": "YulIf",
                  "src": "156:52:84"
                },
                {
                  "nativeSrc": "217:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "217:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "236:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "236:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "230:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "230:5:84"
                    },
                    "nativeSrc": "230:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "230:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "221:5:84",
                      "nodeType": "YulTypedName",
                      "src": "221:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "309:16:84",
                    "nodeType": "YulBlock",
                    "src": "309:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "318:1:84",
                              "nodeType": "YulLiteral",
                              "src": "318:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "321:1:84",
                              "nodeType": "YulLiteral",
                              "src": "321:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "311:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "311:6:84"
                          },
                          "nativeSrc": "311:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "311:12:84"
                        },
                        "nativeSrc": "311:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "311:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "268:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "268:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "279:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "279:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "294:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "294:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "299:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "299:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "290:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "290:3:84"
                                    },
                                    "nativeSrc": "290:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "290:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "303:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "303:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "286:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "286:3:84"
                                },
                                "nativeSrc": "286:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "286:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "275:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "275:3:84"
                            },
                            "nativeSrc": "275:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "275:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "265:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "265:2:84"
                        },
                        "nativeSrc": "265:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "265:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "258:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "258:6:84"
                    },
                    "nativeSrc": "258:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "258:50:84"
                  },
                  "nativeSrc": "255:70:84",
                  "nodeType": "YulIf",
                  "src": "255:70:84"
                },
                {
                  "nativeSrc": "334:15:84",
                  "nodeType": "YulAssignment",
                  "src": "334:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "344:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "344:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "334:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "334:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "358:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "358:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "383:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "383:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "394:2:84",
                            "nodeType": "YulLiteral",
                            "src": "394:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "379:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "379:3:84"
                        },
                        "nativeSrc": "379:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "379:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "373:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "373:5:84"
                    },
                    "nativeSrc": "373:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "373:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "362:7:84",
                      "nodeType": "YulTypedName",
                      "src": "362:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "455:16:84",
                    "nodeType": "YulBlock",
                    "src": "455:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "464:1:84",
                              "nodeType": "YulLiteral",
                              "src": "464:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "467:1:84",
                              "nodeType": "YulLiteral",
                              "src": "467:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "457:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "457:6:84"
                          },
                          "nativeSrc": "457:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "457:12:84"
                        },
                        "nativeSrc": "457:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "457:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "420:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "420:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "443:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "443:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "436:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "436:6:84"
                                },
                                "nativeSrc": "436:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "436:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "429:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "429:6:84"
                            },
                            "nativeSrc": "429:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "429:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "417:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "417:2:84"
                        },
                        "nativeSrc": "417:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "417:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "410:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "410:6:84"
                    },
                    "nativeSrc": "410:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "410:44:84"
                  },
                  "nativeSrc": "407:64:84",
                  "nodeType": "YulIf",
                  "src": "407:64:84"
                },
                {
                  "nativeSrc": "480:17:84",
                  "nodeType": "YulAssignment",
                  "src": "480:17:84",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "490:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "490:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "480:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "480:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "506:35:84",
                  "nodeType": "YulAssignment",
                  "src": "506:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "526:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "537:2:84",
                            "nodeType": "YulLiteral",
                            "src": "537:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "522:3:84"
                        },
                        "nativeSrc": "522:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "522:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "516:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "516:5:84"
                    },
                    "nativeSrc": "516:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "516:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "506:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "506:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetOracle_$749t_boolt_bytes32_fromMemory",
            "nativeSrc": "14:533:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "96:9:84",
                "nodeType": "YulTypedName",
                "src": "96:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "107:7:84",
                "nodeType": "YulTypedName",
                "src": "107:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "119:6:84",
                "nodeType": "YulTypedName",
                "src": "119:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "127:6:84",
                "nodeType": "YulTypedName",
                "src": "127:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "135:6:84",
                "nodeType": "YulTypedName",
                "src": "135:6:84",
                "type": ""
              }
            ],
            "src": "14:533:84"
          },
          {
            "body": {
              "nativeSrc": "584:95:84",
              "nodeType": "YulBlock",
              "src": "584:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "601:1:84",
                        "nodeType": "YulLiteral",
                        "src": "601:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "608:3:84",
                            "nodeType": "YulLiteral",
                            "src": "608:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "613:10:84",
                            "nodeType": "YulLiteral",
                            "src": "613:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "604:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "604:3:84"
                        },
                        "nativeSrc": "604:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "604:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "594:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "594:6:84"
                    },
                    "nativeSrc": "594:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "594:31:84"
                  },
                  "nativeSrc": "594:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "594:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "641:1:84",
                        "nodeType": "YulLiteral",
                        "src": "641:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "644:4:84",
                        "nodeType": "YulLiteral",
                        "src": "644:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "634:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "634:6:84"
                    },
                    "nativeSrc": "634:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "634:15:84"
                  },
                  "nativeSrc": "634:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "634:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "665:1:84",
                        "nodeType": "YulLiteral",
                        "src": "665:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "668:4:84",
                        "nodeType": "YulLiteral",
                        "src": "668:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "658:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "658:6:84"
                    },
                    "nativeSrc": "658:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "658:15:84"
                  },
                  "nativeSrc": "658:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "658:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "552:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "552:127:84"
          },
          {
            "body": {
              "nativeSrc": "785:102:84",
              "nodeType": "YulBlock",
              "src": "785:102:84",
              "statements": [
                {
                  "nativeSrc": "795:26:84",
                  "nodeType": "YulAssignment",
                  "src": "795:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "807:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "807:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "818:2:84",
                        "nodeType": "YulLiteral",
                        "src": "818:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "803:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "803:3:84"
                    },
                    "nativeSrc": "803:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "803:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "795:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "795:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "837:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "837:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "852:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "852:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "868:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "868:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "873:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "873:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "864:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "864:3:84"
                                },
                                "nativeSrc": "864:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "864:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "877:1:84",
                                "nodeType": "YulLiteral",
                                "src": "877:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "860:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "860:3:84"
                            },
                            "nativeSrc": "860:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "860:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "848:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "848:3:84"
                        },
                        "nativeSrc": "848:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "848:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "830:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "830:6:84"
                    },
                    "nativeSrc": "830:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "830:51:84"
                  },
                  "nativeSrc": "830:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "830:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "684:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "754:9:84",
                "nodeType": "YulTypedName",
                "src": "754:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "765:6:84",
                "nodeType": "YulTypedName",
                "src": "765:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "776:4:84",
                "nodeType": "YulTypedName",
                "src": "776:4:84",
                "type": ""
              }
            ],
            "src": "684:203:84"
          },
          {
            "body": {
              "nativeSrc": "924:95:84",
              "nodeType": "YulBlock",
              "src": "924:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "941:1:84",
                        "nodeType": "YulLiteral",
                        "src": "941:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "948:3:84",
                            "nodeType": "YulLiteral",
                            "src": "948:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "953:10:84",
                            "nodeType": "YulLiteral",
                            "src": "953:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "944:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "944:3:84"
                        },
                        "nativeSrc": "944:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "944:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "934:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "934:6:84"
                    },
                    "nativeSrc": "934:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "934:31:84"
                  },
                  "nativeSrc": "934:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "934:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "981:1:84",
                        "nodeType": "YulLiteral",
                        "src": "981:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "984:4:84",
                        "nodeType": "YulLiteral",
                        "src": "984:4:84",
                        "type": "",
                        "value": "0x01"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "974:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "974:6:84"
                    },
                    "nativeSrc": "974:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "974:15:84"
                  },
                  "nativeSrc": "974:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "974:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1005:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1005:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1008:4:84",
                        "nodeType": "YulLiteral",
                        "src": "1008:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "998:6:84"
                    },
                    "nativeSrc": "998:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "998:15:84"
                  },
                  "nativeSrc": "998:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "998:15:84"
                }
              ]
            },
            "name": "panic_error_0x01",
            "nativeSrc": "892:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "892:127:84"
          },
          {
            "body": {
              "nativeSrc": "1056:95:84",
              "nodeType": "YulBlock",
              "src": "1056:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1073:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1073:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "1080:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1080:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1085:10:84",
                            "nodeType": "YulLiteral",
                            "src": "1085:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "1076:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1076:3:84"
                        },
                        "nativeSrc": "1076:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1076:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1066:6:84"
                    },
                    "nativeSrc": "1066:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1066:31:84"
                  },
                  "nativeSrc": "1066:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1066:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1113:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1113:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1116:4:84",
                        "nodeType": "YulLiteral",
                        "src": "1116:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1106:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1106:6:84"
                    },
                    "nativeSrc": "1106:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1106:15:84"
                  },
                  "nativeSrc": "1106:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1106:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1137:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1137:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1140:4:84",
                        "nodeType": "YulLiteral",
                        "src": "1140:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "1130:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1130:6:84"
                    },
                    "nativeSrc": "1130:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1130:15:84"
                  },
                  "nativeSrc": "1130:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1130:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "1024:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "1024:127:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_tuple_t_contract$_WitnetOracle_$749t_boolt_bytes32_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        let value_1 := mload(add(headStart, 32))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value1 := value_1\n        value2 := mload(add(headStart, 64))\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_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 panic_error_0x01()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x01)\n        revert(0, 0x24)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:60425:84",
        "nodeType": "YulBlock",
        "src": "0:60425:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "114:231:84",
              "nodeType": "YulBlock",
              "src": "114:231:84",
              "statements": [
                {
                  "nativeSrc": "124:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "124:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "array",
                        "nativeSrc": "147:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "147:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "134:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "134:12:84"
                    },
                    "nativeSrc": "134:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "134:19:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "128:2:84",
                      "nodeType": "YulTypedName",
                      "src": "128:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "162:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "162:38:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "176:3:84",
                        "nodeType": "YulLiteral",
                        "src": "176:3:84",
                        "type": "",
                        "value": "192"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "181:18:84",
                        "nodeType": "YulLiteral",
                        "src": "181:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "shl",
                      "nativeSrc": "172:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "172:3:84"
                    },
                    "nativeSrc": "172:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "172:28:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "166:2:84",
                      "nodeType": "YulTypedName",
                      "src": "166:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "209:20:84",
                  "nodeType": "YulAssignment",
                  "src": "209:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "222:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "222:2:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "226:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "226:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "218:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "218:3:84"
                    },
                    "nativeSrc": "218:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "218:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "209:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "209:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "260:79:84",
                    "nodeType": "YulBlock",
                    "src": "260:79:84",
                    "statements": [
                      {
                        "nativeSrc": "274:55:84",
                        "nodeType": "YulAssignment",
                        "src": "274:55:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "291:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "291:2:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "303:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "303:1:84",
                                          "type": "",
                                          "value": "3"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "kind": "number",
                                              "nativeSrc": "310:1:84",
                                              "nodeType": "YulLiteral",
                                              "src": "310:1:84",
                                              "type": "",
                                              "value": "8"
                                            },
                                            {
                                              "name": "len",
                                              "nativeSrc": "313:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "313:3:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "sub",
                                            "nativeSrc": "306:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "306:3:84"
                                          },
                                          "nativeSrc": "306:11:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "306:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "299:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "299:3:84"
                                      },
                                      "nativeSrc": "299:19:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "299:19:84"
                                    },
                                    {
                                      "name": "_2",
                                      "nativeSrc": "320:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "320:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "295:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "295:3:84"
                                  },
                                  "nativeSrc": "295:28:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "295:28:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "287:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "287:3:84"
                              },
                              "nativeSrc": "287:37:84",
                              "nodeType": "YulFunctionCall",
                              "src": "287:37:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "326:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "326:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "283:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "283:3:84"
                          },
                          "nativeSrc": "283:46:84",
                          "nodeType": "YulFunctionCall",
                          "src": "283:46:84"
                        },
                        "variableNames": [
                          {
                            "name": "value",
                            "nativeSrc": "274:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "274:5:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "244:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "244:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "249:1:84",
                        "nodeType": "YulLiteral",
                        "src": "249:1:84",
                        "type": "",
                        "value": "8"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "241:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "241:2:84"
                    },
                    "nativeSrc": "241:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "241:10:84"
                  },
                  "nativeSrc": "238:101:84",
                  "nodeType": "YulIf",
                  "src": "238:101:84"
                }
              ]
            },
            "name": "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes8",
            "nativeSrc": "14:331:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "89:5:84",
                "nodeType": "YulTypedName",
                "src": "89:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "96:3:84",
                "nodeType": "YulTypedName",
                "src": "96:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "104:5:84",
                "nodeType": "YulTypedName",
                "src": "104:5:84",
                "type": ""
              }
            ],
            "src": "14:331:84"
          },
          {
            "body": {
              "nativeSrc": "524:224:84",
              "nodeType": "YulBlock",
              "src": "524:224:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "541:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "541:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "552:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "534:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "534:6:84"
                    },
                    "nativeSrc": "534:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "534:21:84"
                  },
                  "nativeSrc": "534:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "534:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "575:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "575:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "586:2:84",
                            "nodeType": "YulLiteral",
                            "src": "586:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "571:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "571:3:84"
                        },
                        "nativeSrc": "571:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "571:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "591:2:84",
                        "nodeType": "YulLiteral",
                        "src": "591:2:84",
                        "type": "",
                        "value": "34"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "564:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "564:6:84"
                    },
                    "nativeSrc": "564:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "564:30:84"
                  },
                  "nativeSrc": "564:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "564:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "614:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "614:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "625:2:84",
                            "nodeType": "YulLiteral",
                            "src": "625:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "610:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "610:3:84"
                        },
                        "nativeSrc": "610:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "610:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e736574746c656420736f6c76",
                        "kind": "string",
                        "nativeSrc": "630:34:84",
                        "nodeType": "YulLiteral",
                        "src": "630:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: unsettled solv"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "603:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "603:6:84"
                    },
                    "nativeSrc": "603:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "603:62:84"
                  },
                  "nativeSrc": "603:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "603:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "685:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "685:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "696:2:84",
                            "nodeType": "YulLiteral",
                            "src": "696:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "681:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "681:3:84"
                        },
                        "nativeSrc": "681:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "681:18:84"
                      },
                      {
                        "hexValue": "6572",
                        "kind": "string",
                        "nativeSrc": "701:4:84",
                        "nodeType": "YulLiteral",
                        "src": "701:4:84",
                        "type": "",
                        "value": "er"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "674:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "674:6:84"
                    },
                    "nativeSrc": "674:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "674:32:84"
                  },
                  "nativeSrc": "674:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "674:32:84"
                },
                {
                  "nativeSrc": "715:27:84",
                  "nodeType": "YulAssignment",
                  "src": "715:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "727:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "727:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "738:3:84",
                        "nodeType": "YulLiteral",
                        "src": "738:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "723:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "723:3:84"
                    },
                    "nativeSrc": "723:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "723:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "715:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "715:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f06b5faab7b0a414052fa5e4770178a1dae2cf95b0f12b6ee69275e38c572aa3__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "350:398:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "501:9:84",
                "nodeType": "YulTypedName",
                "src": "501:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "515:4:84",
                "nodeType": "YulTypedName",
                "src": "515:4:84",
                "type": ""
              }
            ],
            "src": "350:398:84"
          },
          {
            "body": {
              "nativeSrc": "927:223:84",
              "nodeType": "YulBlock",
              "src": "927:223:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "944:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "944:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "955:2:84",
                        "nodeType": "YulLiteral",
                        "src": "955:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "937:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "937:6:84"
                    },
                    "nativeSrc": "937:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "937:21:84"
                  },
                  "nativeSrc": "937:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "937:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "978:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "978:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "989:2:84",
                            "nodeType": "YulLiteral",
                            "src": "989:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "974:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "974:3:84"
                        },
                        "nativeSrc": "974:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "974:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "994:2:84",
                        "nodeType": "YulLiteral",
                        "src": "994:2:84",
                        "type": "",
                        "value": "33"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "967:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "967:6:84"
                    },
                    "nativeSrc": "967:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "967:30:84"
                  },
                  "nativeSrc": "967:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "967:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1017:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1017:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1028:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1028:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1013:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1013:3:84"
                        },
                        "nativeSrc": "1013:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1013:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f7420696d706c656d656e7465",
                        "kind": "string",
                        "nativeSrc": "1033:34:84",
                        "nodeType": "YulLiteral",
                        "src": "1033:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: not implemente"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1006:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1006:6:84"
                    },
                    "nativeSrc": "1006:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1006:62:84"
                  },
                  "nativeSrc": "1006:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1006:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1088:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1088:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1099:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1099:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1084:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1084:3:84"
                        },
                        "nativeSrc": "1084:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1084:18:84"
                      },
                      {
                        "hexValue": "64",
                        "kind": "string",
                        "nativeSrc": "1104:3:84",
                        "nodeType": "YulLiteral",
                        "src": "1104:3:84",
                        "type": "",
                        "value": "d"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1077:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1077:6:84"
                    },
                    "nativeSrc": "1077:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1077:31:84"
                  },
                  "nativeSrc": "1077:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1077:31:84"
                },
                {
                  "nativeSrc": "1117:27:84",
                  "nodeType": "YulAssignment",
                  "src": "1117:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1129:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1129:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1140:3:84",
                        "nodeType": "YulLiteral",
                        "src": "1140:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1125:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1125:3:84"
                    },
                    "nativeSrc": "1125:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1125:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1117:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1117:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_d93f0ef3c645ff8e15db5c47a2f80f3c054e6e82c4c316dd87b5813e591585fb__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "753:397:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "904:9:84",
                "nodeType": "YulTypedName",
                "src": "904:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "918:4:84",
                "nodeType": "YulTypedName",
                "src": "918:4:84",
                "type": ""
              }
            ],
            "src": "753:397:84"
          },
          {
            "body": {
              "nativeSrc": "1199:87:84",
              "nodeType": "YulBlock",
              "src": "1199:87:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1264:16:84",
                    "nodeType": "YulBlock",
                    "src": "1264:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1273:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1273:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1276:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1276:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1266:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1266:6:84"
                          },
                          "nativeSrc": "1266:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1266:12:84"
                        },
                        "nativeSrc": "1266:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1266:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1222:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1222:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1233:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1233:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1244:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1244:3:84",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1249:10:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1249:10:84",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1240:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1240:3:84"
                                },
                                "nativeSrc": "1240:20:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1240:20:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1229:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1229:3:84"
                            },
                            "nativeSrc": "1229:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1229:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1219:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1219:2:84"
                        },
                        "nativeSrc": "1219:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1219:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1212:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1212:6:84"
                    },
                    "nativeSrc": "1212:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1212:51:84"
                  },
                  "nativeSrc": "1209:71:84",
                  "nodeType": "YulIf",
                  "src": "1209:71:84"
                }
              ]
            },
            "name": "validator_revert_bytes4",
            "nativeSrc": "1155:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1188:5:84",
                "nodeType": "YulTypedName",
                "src": "1188:5:84",
                "type": ""
              }
            ],
            "src": "1155:131:84"
          },
          {
            "body": {
              "nativeSrc": "1360:176:84",
              "nodeType": "YulBlock",
              "src": "1360:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1406:16:84",
                    "nodeType": "YulBlock",
                    "src": "1406:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1415:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1415:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1418:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1418:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1408:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1408:6:84"
                          },
                          "nativeSrc": "1408:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1408:12:84"
                        },
                        "nativeSrc": "1408:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1408:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1381:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1381:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1390:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1390:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1377:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1377:3:84"
                        },
                        "nativeSrc": "1377:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1377:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1402:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1402:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1373:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1373:3:84"
                    },
                    "nativeSrc": "1373:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1373:32:84"
                  },
                  "nativeSrc": "1370:52:84",
                  "nodeType": "YulIf",
                  "src": "1370:52:84"
                },
                {
                  "nativeSrc": "1431:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1431:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1457:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1457:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1444:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1444:12:84"
                    },
                    "nativeSrc": "1444:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1444:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1435:5:84",
                      "nodeType": "YulTypedName",
                      "src": "1435:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1500:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1500:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "1476:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "1476:23:84"
                    },
                    "nativeSrc": "1476:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1476:30:84"
                  },
                  "nativeSrc": "1476:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1476:30:84"
                },
                {
                  "nativeSrc": "1515:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1515:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1525:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "1525:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1515:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1515:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4",
            "nativeSrc": "1291:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1326:9:84",
                "nodeType": "YulTypedName",
                "src": "1326:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1337:7:84",
                "nodeType": "YulTypedName",
                "src": "1337:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1349:6:84",
                "nodeType": "YulTypedName",
                "src": "1349:6:84",
                "type": ""
              }
            ],
            "src": "1291:245:84"
          },
          {
            "body": {
              "nativeSrc": "1642:76:84",
              "nodeType": "YulBlock",
              "src": "1642:76:84",
              "statements": [
                {
                  "nativeSrc": "1652:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1652:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1664:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1664:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1675:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1675:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1660:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1660:3:84"
                    },
                    "nativeSrc": "1660:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1660:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1652:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1652:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1694:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1694:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "1705:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1705:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1687:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1687:6:84"
                    },
                    "nativeSrc": "1687:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1687:25:84"
                  },
                  "nativeSrc": "1687:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1687:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "1541:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1611:9:84",
                "nodeType": "YulTypedName",
                "src": "1611:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1622:6:84",
                "nodeType": "YulTypedName",
                "src": "1622:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1633:4:84",
                "nodeType": "YulTypedName",
                "src": "1633:4:84",
                "type": ""
              }
            ],
            "src": "1541:177:84"
          },
          {
            "body": {
              "nativeSrc": "1789:184:84",
              "nodeType": "YulBlock",
              "src": "1789:184:84",
              "statements": [
                {
                  "nativeSrc": "1799:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1799:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1808:1:84",
                    "nodeType": "YulLiteral",
                    "src": "1808:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "1803:1:84",
                      "nodeType": "YulTypedName",
                      "src": "1803:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1868:63:84",
                    "nodeType": "YulBlock",
                    "src": "1868:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "1893:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1893:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "1898:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1898:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "1889:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "1889:3:84"
                              },
                              "nativeSrc": "1889:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "1889:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "1912:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1912:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "1917:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1917:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "1908:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1908:3:84"
                                  },
                                  "nativeSrc": "1908:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1908:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "1902:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1902:5:84"
                              },
                              "nativeSrc": "1902:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "1902:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1882:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1882:6:84"
                          },
                          "nativeSrc": "1882:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1882:39:84"
                        },
                        "nativeSrc": "1882:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1882:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "1829:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "1829:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1832:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1832:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1826:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1826:2:84"
                    },
                    "nativeSrc": "1826:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1826:13:84"
                  },
                  "nativeSrc": "1818:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1840:19:84",
                    "nodeType": "YulBlock",
                    "src": "1840:19:84",
                    "statements": [
                      {
                        "nativeSrc": "1842:15:84",
                        "nodeType": "YulAssignment",
                        "src": "1842:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "1851:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "1851:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1854:2:84",
                              "nodeType": "YulLiteral",
                              "src": "1854:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1847:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1847:3:84"
                          },
                          "nativeSrc": "1847:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1847:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "1842:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "1842:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1822:3:84",
                    "nodeType": "YulBlock",
                    "src": "1822:3:84",
                    "statements": []
                  },
                  "src": "1818:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "1951:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1951:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "1956:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1956:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1947:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1947:3:84"
                        },
                        "nativeSrc": "1947:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1947:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1965:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1965:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1940:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1940:6:84"
                    },
                    "nativeSrc": "1940:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1940:27:84"
                  },
                  "nativeSrc": "1940:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1940:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "1723:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "1767:3:84",
                "nodeType": "YulTypedName",
                "src": "1767:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "1772:3:84",
                "nodeType": "YulTypedName",
                "src": "1772:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "1777:6:84",
                "nodeType": "YulTypedName",
                "src": "1777:6:84",
                "type": ""
              }
            ],
            "src": "1723:250:84"
          },
          {
            "body": {
              "nativeSrc": "2028:221:84",
              "nodeType": "YulBlock",
              "src": "2028:221:84",
              "statements": [
                {
                  "nativeSrc": "2038:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2038:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2058:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "2058:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2052:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "2052:5:84"
                    },
                    "nativeSrc": "2052:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2052:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2042:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2042:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2080:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2080:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2085:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2085:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2073:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2073:6:84"
                    },
                    "nativeSrc": "2073:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2073:19:84"
                  },
                  "nativeSrc": "2073:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2073:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2140:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2140:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2147:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2147:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2136:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2136:3:84"
                        },
                        "nativeSrc": "2136:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2136:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2158:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2158:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2163:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2163:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2154:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2154:3:84"
                        },
                        "nativeSrc": "2154:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2154:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2170:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2170:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "2101:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "2101:34:84"
                    },
                    "nativeSrc": "2101:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2101:76:84"
                  },
                  "nativeSrc": "2101:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2101:76:84"
                },
                {
                  "nativeSrc": "2186:57:84",
                  "nodeType": "YulAssignment",
                  "src": "2186:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2201:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2201:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "2214:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2214:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2222:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2222:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2210:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2210:3:84"
                                },
                                "nativeSrc": "2210:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2210:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2231:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2231:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "2227:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2227:3:84"
                                },
                                "nativeSrc": "2227:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2227:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2206:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2206:3:84"
                            },
                            "nativeSrc": "2206:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2206:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2197:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2197:3:84"
                        },
                        "nativeSrc": "2197:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2197:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2238:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2238:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2193:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2193:3:84"
                    },
                    "nativeSrc": "2193:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2193:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "2186:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2186:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "1978:271:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2005:5:84",
                "nodeType": "YulTypedName",
                "src": "2005:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2012:3:84",
                "nodeType": "YulTypedName",
                "src": "2012:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2020:3:84",
                "nodeType": "YulTypedName",
                "src": "2020:3:84",
                "type": ""
              }
            ],
            "src": "1978:271:84"
          },
          {
            "body": {
              "nativeSrc": "2314:538:84",
              "nodeType": "YulBlock",
              "src": "2314:538:84",
              "statements": [
                {
                  "nativeSrc": "2324:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2324:16:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "2337:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "2337:3:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "2328:5:84",
                      "nodeType": "YulTypedName",
                      "src": "2328:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2349:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2349:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2369:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "2369:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2363:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "2363:5:84"
                    },
                    "nativeSrc": "2363:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2363:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2353:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2353:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2391:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2391:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2396:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2396:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2384:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2384:6:84"
                    },
                    "nativeSrc": "2384:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2384:19:84"
                  },
                  "nativeSrc": "2384:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2384:19:84"
                },
                {
                  "nativeSrc": "2412:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2412:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2422:4:84",
                    "nodeType": "YulLiteral",
                    "src": "2422:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "2416:2:84",
                      "nodeType": "YulTypedName",
                      "src": "2416:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2435:21:84",
                  "nodeType": "YulAssignment",
                  "src": "2435:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2446:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2446:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2451:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2451:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2442:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2442:3:84"
                    },
                    "nativeSrc": "2442:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2442:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "2435:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2435:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "2465:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2465:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "2485:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2485:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "2496:1:84",
                                "nodeType": "YulLiteral",
                                "src": "2496:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2499:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2499:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "2492:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2492:3:84"
                            },
                            "nativeSrc": "2492:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2492:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2481:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2481:3:84"
                        },
                        "nativeSrc": "2481:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2481:26:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2509:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2509:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2477:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2477:3:84"
                    },
                    "nativeSrc": "2477:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2477:37:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "2469:4:84",
                      "nodeType": "YulTypedName",
                      "src": "2469:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2523:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2523:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2541:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "2541:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2548:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2548:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2537:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2537:3:84"
                    },
                    "nativeSrc": "2537:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2537:16:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "2527:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2527:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2562:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2562:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2571:1:84",
                    "nodeType": "YulLiteral",
                    "src": "2571:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "2566:1:84",
                      "nodeType": "YulTypedName",
                      "src": "2566:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2630:196:84",
                    "nodeType": "YulBlock",
                    "src": "2630:196:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2651:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2651:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "2664:4:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2664:4:84"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "2670:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2670:5:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "2660:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2660:3:84"
                                  },
                                  "nativeSrc": "2660:16:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2660:16:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "2682:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "2682:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "2678:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2678:3:84"
                                  },
                                  "nativeSrc": "2678:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2678:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "2656:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "2656:3:84"
                              },
                              "nativeSrc": "2656:30:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2656:30:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2644:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2644:6:84"
                          },
                          "nativeSrc": "2644:43:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2644:43:84"
                        },
                        "nativeSrc": "2644:43:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2644:43:84"
                      },
                      {
                        "nativeSrc": "2700:46:84",
                        "nodeType": "YulAssignment",
                        "src": "2700:46:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "2732:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2732:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "2726:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2726:5:84"
                              },
                              "nativeSrc": "2726:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2726:13:84"
                            },
                            {
                              "name": "tail",
                              "nativeSrc": "2741:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "2741:4:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string",
                            "nativeSrc": "2708:17:84",
                            "nodeType": "YulIdentifier",
                            "src": "2708:17:84"
                          },
                          "nativeSrc": "2708:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2708:38:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "2700:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "2700:4:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2759:25:84",
                        "nodeType": "YulAssignment",
                        "src": "2759:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "2773:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "2773:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "2781:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "2781:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2769:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2769:3:84"
                          },
                          "nativeSrc": "2769:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2769:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "2759:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2759:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2797:19:84",
                        "nodeType": "YulAssignment",
                        "src": "2797:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2808:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2808:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "2813:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "2813:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2804:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2804:3:84"
                          },
                          "nativeSrc": "2804:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2804:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "2797:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2797:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "2592:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "2592:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2595:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2595:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "2589:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2589:2:84"
                    },
                    "nativeSrc": "2589:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2589:13:84"
                  },
                  "nativeSrc": "2581:245:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "2603:18:84",
                    "nodeType": "YulBlock",
                    "src": "2603:18:84",
                    "statements": [
                      {
                        "nativeSrc": "2605:14:84",
                        "nodeType": "YulAssignment",
                        "src": "2605:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "2614:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "2614:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2617:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2617:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2610:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2610:3:84"
                          },
                          "nativeSrc": "2610:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2610:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "2605:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "2605:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "2585:3:84",
                    "nodeType": "YulBlock",
                    "src": "2585:3:84",
                    "statements": []
                  },
                  "src": "2581:245:84"
                },
                {
                  "nativeSrc": "2835:11:84",
                  "nodeType": "YulAssignment",
                  "src": "2835:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "2842:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "2842:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "2835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2835:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_string_dyn",
            "nativeSrc": "2254:598:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2291:5:84",
                "nodeType": "YulTypedName",
                "src": "2291:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2298:3:84",
                "nodeType": "YulTypedName",
                "src": "2298:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2306:3:84",
                "nodeType": "YulTypedName",
                "src": "2306:3:84",
                "type": ""
              }
            ],
            "src": "2254:598:84"
          },
          {
            "body": {
              "nativeSrc": "3182:1082:84",
              "nodeType": "YulBlock",
              "src": "3182:1082:84",
              "statements": [
                {
                  "nativeSrc": "3192:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3192:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3210:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3210:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3221:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3221:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3206:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3206:3:84"
                    },
                    "nativeSrc": "3206:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3206:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "3196:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3196:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3240:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3240:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3251:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3251:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3233:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3233:6:84"
                    },
                    "nativeSrc": "3233:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3233:21:84"
                  },
                  "nativeSrc": "3233:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3233:21:84"
                },
                {
                  "nativeSrc": "3263:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3263:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "3274:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "3274:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "3267:3:84",
                      "nodeType": "YulTypedName",
                      "src": "3267:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3289:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3289:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3309:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3309:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3303:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3303:5:84"
                    },
                    "nativeSrc": "3303:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3303:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3293:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3293:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "3332:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3332:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3340:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3340:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3325:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3325:6:84"
                    },
                    "nativeSrc": "3325:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3325:22:84"
                  },
                  "nativeSrc": "3325:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3325:22:84"
                },
                {
                  "nativeSrc": "3356:26:84",
                  "nodeType": "YulAssignment",
                  "src": "3356:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3367:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3367:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3378:3:84",
                        "nodeType": "YulLiteral",
                        "src": "3378:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3363:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3363:3:84"
                    },
                    "nativeSrc": "3363:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3363:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "3356:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3356:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3391:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3391:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3401:4:84",
                    "nodeType": "YulLiteral",
                    "src": "3401:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "3395:2:84",
                      "nodeType": "YulTypedName",
                      "src": "3395:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3414:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3414:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3432:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3432:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "3440:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "3440:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3428:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3428:3:84"
                    },
                    "nativeSrc": "3428:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3428:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "3418:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3418:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3452:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3452:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3461:1:84",
                    "nodeType": "YulLiteral",
                    "src": "3461:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "3456:1:84",
                      "nodeType": "YulTypedName",
                      "src": "3456:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3520:147:84",
                    "nodeType": "YulBlock",
                    "src": "3520:147:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "3541:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3541:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "3556:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "3556:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "3550:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3550:5:84"
                                  },
                                  "nativeSrc": "3550:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3550:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "3569:3:84",
                                      "nodeType": "YulLiteral",
                                      "src": "3569:3:84",
                                      "type": "",
                                      "value": "224"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "3574:10:84",
                                      "nodeType": "YulLiteral",
                                      "src": "3574:10:84",
                                      "type": "",
                                      "value": "0xffffffff"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "3565:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3565:3:84"
                                  },
                                  "nativeSrc": "3565:20:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3565:20:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "3546:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "3546:3:84"
                              },
                              "nativeSrc": "3546:40:84",
                              "nodeType": "YulFunctionCall",
                              "src": "3546:40:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3534:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3534:6:84"
                          },
                          "nativeSrc": "3534:53:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3534:53:84"
                        },
                        "nativeSrc": "3534:53:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3534:53:84"
                      },
                      {
                        "nativeSrc": "3600:19:84",
                        "nodeType": "YulAssignment",
                        "src": "3600:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "3611:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3611:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "3616:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "3616:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3607:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3607:3:84"
                          },
                          "nativeSrc": "3607:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3607:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "3600:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3600:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3632:25:84",
                        "nodeType": "YulAssignment",
                        "src": "3632:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "3646:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "3646:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "3654:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "3654:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3642:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3642:3:84"
                          },
                          "nativeSrc": "3642:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3642:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "3632:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3632:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "3482:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "3482:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3485:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3485:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3479:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3479:2:84"
                    },
                    "nativeSrc": "3479:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3479:13:84"
                  },
                  "nativeSrc": "3471:196:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3493:18:84",
                    "nodeType": "YulBlock",
                    "src": "3493:18:84",
                    "statements": [
                      {
                        "nativeSrc": "3495:14:84",
                        "nodeType": "YulAssignment",
                        "src": "3495:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "3504:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "3504:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3507:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3507:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3500:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3500:3:84"
                          },
                          "nativeSrc": "3500:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3500:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "3495:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "3495:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3475:3:84",
                    "nodeType": "YulBlock",
                    "src": "3475:3:84",
                    "statements": []
                  },
                  "src": "3471:196:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3687:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3687:9:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "3698:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "3698:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3683:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3683:3:84"
                        },
                        "nativeSrc": "3683:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3683:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3707:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3707:3:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3712:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3712:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3703:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3703:3:84"
                        },
                        "nativeSrc": "3703:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3703:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3676:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3676:6:84"
                    },
                    "nativeSrc": "3676:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3676:47:84"
                  },
                  "nativeSrc": "3676:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3676:47:84"
                },
                {
                  "nativeSrc": "3732:54:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3732:54:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "3774:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3774:6:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "3782:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3782:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "3746:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "3746:27:84"
                    },
                    "nativeSrc": "3746:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3746:40:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "3736:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3736:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3806:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3806:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3817:2:84",
                            "nodeType": "YulLiteral",
                            "src": "3817:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3802:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3802:3:84"
                        },
                        "nativeSrc": "3802:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3802:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "3826:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3826:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3834:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3834:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3822:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3822:3:84"
                        },
                        "nativeSrc": "3822:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3822:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3795:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3795:6:84"
                    },
                    "nativeSrc": "3795:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3795:50:84"
                  },
                  "nativeSrc": "3795:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3795:50:84"
                },
                {
                  "nativeSrc": "3854:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3854:19:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "3867:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "3867:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3858:5:84",
                      "nodeType": "YulTypedName",
                      "src": "3858:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3882:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3882:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "3904:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3904:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3898:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3898:5:84"
                    },
                    "nativeSrc": "3898:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3898:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "3886:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3886:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "3927:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3927:6:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "3935:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "3935:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3920:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3920:6:84"
                    },
                    "nativeSrc": "3920:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3920:24:84"
                  },
                  "nativeSrc": "3920:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3920:24:84"
                },
                {
                  "nativeSrc": "3953:24:84",
                  "nodeType": "YulAssignment",
                  "src": "3953:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "3966:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3966:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "3974:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "3974:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3962:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3962:3:84"
                    },
                    "nativeSrc": "3962:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3962:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3953:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3953:5:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3986:31:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3986:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "4006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4006:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "4014:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4014:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4002:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4002:3:84"
                    },
                    "nativeSrc": "4002:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4002:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr_1",
                      "nativeSrc": "3990:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3990:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4026:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4026:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "4037:1:84",
                    "nodeType": "YulLiteral",
                    "src": "4037:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "4030:3:84",
                      "nodeType": "YulTypedName",
                      "src": "4030:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4104:132:84",
                    "nodeType": "YulBlock",
                    "src": "4104:132:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "4125:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4125:5:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "4138:8:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4138:8:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "4132:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4132:5:84"
                              },
                              "nativeSrc": "4132:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "4132:15:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "4118:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4118:6:84"
                          },
                          "nativeSrc": "4118:30:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4118:30:84"
                        },
                        "nativeSrc": "4118:30:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4118:30:84"
                      },
                      {
                        "nativeSrc": "4161:23:84",
                        "nodeType": "YulAssignment",
                        "src": "4161:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "4174:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4174:5:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "4181:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4181:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4170:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4170:3:84"
                          },
                          "nativeSrc": "4170:14:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4170:14:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "4161:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4161:5:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4197:29:84",
                        "nodeType": "YulAssignment",
                        "src": "4197:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr_1",
                              "nativeSrc": "4213:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "4213:8:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "4223:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4223:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4209:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4209:3:84"
                          },
                          "nativeSrc": "4209:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4209:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "4197:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "4197:8:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "4058:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4058:3:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "4063:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "4063:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "4055:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4055:2:84"
                    },
                    "nativeSrc": "4055:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4055:17:84"
                  },
                  "nativeSrc": "4047:189:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "4073:22:84",
                    "nodeType": "YulBlock",
                    "src": "4073:22:84",
                    "statements": [
                      {
                        "nativeSrc": "4075:18:84",
                        "nodeType": "YulAssignment",
                        "src": "4075:18:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "4086:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4086:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4091:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4091:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4082:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4082:3:84"
                          },
                          "nativeSrc": "4082:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4082:11:84"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "4075:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4075:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "4051:3:84",
                    "nodeType": "YulBlock",
                    "src": "4051:3:84",
                    "statements": []
                  },
                  "src": "4047:189:84"
                },
                {
                  "nativeSrc": "4245:13:84",
                  "nodeType": "YulAssignment",
                  "src": "4245:13:84",
                  "value": {
                    "name": "pos_1",
                    "nativeSrc": "4253:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "4253:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4245:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4245:4:84"
                    }
                  ]
                }
              ]
            },
            "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": "2857:1407:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3135:9:84",
                "nodeType": "YulTypedName",
                "src": "3135:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "3146:6:84",
                "nodeType": "YulTypedName",
                "src": "3146:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3154:6:84",
                "nodeType": "YulTypedName",
                "src": "3154:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "3162:6:84",
                "nodeType": "YulTypedName",
                "src": "3162:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "3173:4:84",
                "nodeType": "YulTypedName",
                "src": "3173:4:84",
                "type": ""
              }
            ],
            "src": "2857:1407:84"
          },
          {
            "body": {
              "nativeSrc": "4342:275:84",
              "nodeType": "YulBlock",
              "src": "4342:275:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4391:16:84",
                    "nodeType": "YulBlock",
                    "src": "4391:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4400:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4400:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4403:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4403:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4393:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4393:6:84"
                          },
                          "nativeSrc": "4393:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4393:12:84"
                        },
                        "nativeSrc": "4393:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4393:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4370:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "4370:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4378:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4378:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4366:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4366:3:84"
                            },
                            "nativeSrc": "4366:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4366:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "4385:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4385:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4362:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4362:3:84"
                        },
                        "nativeSrc": "4362:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4362:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4355:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4355:6:84"
                    },
                    "nativeSrc": "4355:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4355:35:84"
                  },
                  "nativeSrc": "4352:55:84",
                  "nodeType": "YulIf",
                  "src": "4352:55:84"
                },
                {
                  "nativeSrc": "4416:30:84",
                  "nodeType": "YulAssignment",
                  "src": "4416:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4439:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4439:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4426:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "4426:12:84"
                    },
                    "nativeSrc": "4426:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4426:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "4416:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4416:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4489:16:84",
                    "nodeType": "YulBlock",
                    "src": "4489:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4498:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4498:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4501:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4501:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4491:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4491:6:84"
                          },
                          "nativeSrc": "4491:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4491:12:84"
                        },
                        "nativeSrc": "4491:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4491:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "4461:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4461:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4469:18:84",
                        "nodeType": "YulLiteral",
                        "src": "4469:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4458:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4458:2:84"
                    },
                    "nativeSrc": "4458:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4458:30:84"
                  },
                  "nativeSrc": "4455:50:84",
                  "nodeType": "YulIf",
                  "src": "4455:50:84"
                },
                {
                  "nativeSrc": "4514:29:84",
                  "nodeType": "YulAssignment",
                  "src": "4514:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4530:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4530:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4538:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4538:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4526:3:84"
                    },
                    "nativeSrc": "4526:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4526:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "4514:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "4514:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4595:16:84",
                    "nodeType": "YulBlock",
                    "src": "4595:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4604:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4604:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4607:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4607:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4597:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4597:6:84"
                          },
                          "nativeSrc": "4597:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4597:12:84"
                        },
                        "nativeSrc": "4597:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4597:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4566:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "4566:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "4574:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "4574:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4562:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4562:3:84"
                            },
                            "nativeSrc": "4562:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4562:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4583:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4583:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4558:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4558:3:84"
                        },
                        "nativeSrc": "4558:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4558:30:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "4590:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4590:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4555:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4555:2:84"
                    },
                    "nativeSrc": "4555:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4555:39:84"
                  },
                  "nativeSrc": "4552:59:84",
                  "nodeType": "YulIf",
                  "src": "4552:59:84"
                }
              ]
            },
            "name": "abi_decode_string_calldata",
            "nativeSrc": "4269:348:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4305:6:84",
                "nodeType": "YulTypedName",
                "src": "4305:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "4313:3:84",
                "nodeType": "YulTypedName",
                "src": "4313:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "4321:8:84",
                "nodeType": "YulTypedName",
                "src": "4321:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "4331:6:84",
                "nodeType": "YulTypedName",
                "src": "4331:6:84",
                "type": ""
              }
            ],
            "src": "4269:348:84"
          },
          {
            "body": {
              "nativeSrc": "4667:86:84",
              "nodeType": "YulBlock",
              "src": "4667:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4731:16:84",
                    "nodeType": "YulBlock",
                    "src": "4731:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4740:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4740:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4743:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4743:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4733:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4733:6:84"
                          },
                          "nativeSrc": "4733:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4733:12:84"
                        },
                        "nativeSrc": "4733:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4733:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4690:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4690:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4701:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4701:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "4716:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "4716:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "4721:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "4721:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "4712:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "4712:3:84"
                                    },
                                    "nativeSrc": "4712:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "4712:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4725:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4725:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "4708:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4708:3:84"
                                },
                                "nativeSrc": "4708:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4708:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "4697:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4697:3:84"
                            },
                            "nativeSrc": "4697:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4697:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "4687:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "4687:2:84"
                        },
                        "nativeSrc": "4687:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4687:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4680:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4680:6:84"
                    },
                    "nativeSrc": "4680:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4680:50:84"
                  },
                  "nativeSrc": "4677:70:84",
                  "nodeType": "YulIf",
                  "src": "4677:70:84"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "4622:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4656:5:84",
                "nodeType": "YulTypedName",
                "src": "4656:5:84",
                "type": ""
              }
            ],
            "src": "4622:131:84"
          },
          {
            "body": {
              "nativeSrc": "4850:283:84",
              "nodeType": "YulBlock",
              "src": "4850:283:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4899:16:84",
                    "nodeType": "YulBlock",
                    "src": "4899:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4908:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4911:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4911:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4901:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4901:6:84"
                          },
                          "nativeSrc": "4901:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4901:12:84"
                        },
                        "nativeSrc": "4901:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4901:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4878:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "4878:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4886:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4886:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4874:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4874:3:84"
                            },
                            "nativeSrc": "4874:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4874:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "4893:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4893:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4870:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4870:3:84"
                        },
                        "nativeSrc": "4870:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4870:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4863:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4863:6:84"
                    },
                    "nativeSrc": "4863:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4863:35:84"
                  },
                  "nativeSrc": "4860:55:84",
                  "nodeType": "YulIf",
                  "src": "4860:55:84"
                },
                {
                  "nativeSrc": "4924:30:84",
                  "nodeType": "YulAssignment",
                  "src": "4924:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4947:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4947:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4934:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "4934:12:84"
                    },
                    "nativeSrc": "4934:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4934:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "4924:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4924:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4997:16:84",
                    "nodeType": "YulBlock",
                    "src": "4997:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5006:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5006:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5009:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5009:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4999:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4999:6:84"
                          },
                          "nativeSrc": "4999:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4999:12:84"
                        },
                        "nativeSrc": "4999:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4999:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "4969:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4969:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4977:18:84",
                        "nodeType": "YulLiteral",
                        "src": "4977:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4966:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4966:2:84"
                    },
                    "nativeSrc": "4966:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4966:30:84"
                  },
                  "nativeSrc": "4963:50:84",
                  "nodeType": "YulIf",
                  "src": "4963:50:84"
                },
                {
                  "nativeSrc": "5022:29:84",
                  "nodeType": "YulAssignment",
                  "src": "5022:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5038:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5038:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5046:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5046:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5034:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5034:3:84"
                    },
                    "nativeSrc": "5034:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5034:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "5022:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "5022:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5111:16:84",
                    "nodeType": "YulBlock",
                    "src": "5111:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5120:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5120:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5123:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5123:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5113:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5113:6:84"
                          },
                          "nativeSrc": "5113:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5113:12:84"
                        },
                        "nativeSrc": "5113:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5113:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "5074:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "5074:6:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5086:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "5086:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "5089:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5089:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "5082:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5082:3:84"
                                },
                                "nativeSrc": "5082:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5082:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5070:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5070:3:84"
                            },
                            "nativeSrc": "5070:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5070:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5099:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5099:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5066:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5066:3:84"
                        },
                        "nativeSrc": "5066:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5066:38:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "5106:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "5106:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5063:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5063:2:84"
                    },
                    "nativeSrc": "5063:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5063:47:84"
                  },
                  "nativeSrc": "5060:67:84",
                  "nodeType": "YulIf",
                  "src": "5060:67:84"
                }
              ]
            },
            "name": "abi_decode_array_string_calldata_dyn_calldata",
            "nativeSrc": "4758:375:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4813:6:84",
                "nodeType": "YulTypedName",
                "src": "4813:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "4821:3:84",
                "nodeType": "YulTypedName",
                "src": "4821:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "4829:8:84",
                "nodeType": "YulTypedName",
                "src": "4829:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "4839:6:84",
                "nodeType": "YulTypedName",
                "src": "4839:6:84",
                "type": ""
              }
            ],
            "src": "4758:375:84"
          },
          {
            "body": {
              "nativeSrc": "5309:731:84",
              "nodeType": "YulBlock",
              "src": "5309:731:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5355:16:84",
                    "nodeType": "YulBlock",
                    "src": "5355:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5364:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5364:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5367:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5367:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5357:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5357:6:84"
                          },
                          "nativeSrc": "5357:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5357:12:84"
                        },
                        "nativeSrc": "5357:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5357:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5330:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "5330:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "5339:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5339:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5326:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5326:3:84"
                        },
                        "nativeSrc": "5326:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5326:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5351:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5351:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5322:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5322:3:84"
                    },
                    "nativeSrc": "5322:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5322:32:84"
                  },
                  "nativeSrc": "5319:52:84",
                  "nodeType": "YulIf",
                  "src": "5319:52:84"
                },
                {
                  "nativeSrc": "5380:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5380:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5407:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5407:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5394:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5394:12:84"
                    },
                    "nativeSrc": "5394:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5394:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "5384:6:84",
                      "nodeType": "YulTypedName",
                      "src": "5384:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5426:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5426:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5436:18:84",
                    "nodeType": "YulLiteral",
                    "src": "5436:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "5430:2:84",
                      "nodeType": "YulTypedName",
                      "src": "5430:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5481:16:84",
                    "nodeType": "YulBlock",
                    "src": "5481:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5490:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5490:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5493:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5493:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5483:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5483:6:84"
                          },
                          "nativeSrc": "5483:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5483:12:84"
                        },
                        "nativeSrc": "5483:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5483:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5469:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5469:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "5477:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "5477:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5466:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5466:2:84"
                    },
                    "nativeSrc": "5466:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5466:14:84"
                  },
                  "nativeSrc": "5463:34:84",
                  "nodeType": "YulIf",
                  "src": "5463:34:84"
                },
                {
                  "nativeSrc": "5506:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5506:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5563:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5563:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "5574:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5574:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5559:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5559:3:84"
                        },
                        "nativeSrc": "5559:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5559:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5583:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "5583:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "5532:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "5532:26:84"
                    },
                    "nativeSrc": "5532:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5532:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "5510:8:84",
                      "nodeType": "YulTypedName",
                      "src": "5510:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "5520:8:84",
                      "nodeType": "YulTypedName",
                      "src": "5520:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5600:18:84",
                  "nodeType": "YulAssignment",
                  "src": "5600:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "5610:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "5610:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5600:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5600:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5627:18:84",
                  "nodeType": "YulAssignment",
                  "src": "5627:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "5637:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "5637:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "5627:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5627:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5654:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5654:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5684:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5684:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5695:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5695:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5680:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5680:3:84"
                        },
                        "nativeSrc": "5680:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5680:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5667:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5667:12:84"
                    },
                    "nativeSrc": "5667:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5667:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "5658:5:84",
                      "nodeType": "YulTypedName",
                      "src": "5658:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "5733:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "5733:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "5708:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "5708:24:84"
                    },
                    "nativeSrc": "5708:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5708:31:84"
                  },
                  "nativeSrc": "5708:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5708:31:84"
                },
                {
                  "nativeSrc": "5748:15:84",
                  "nodeType": "YulAssignment",
                  "src": "5748:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "5758:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "5758:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "5748:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5748:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5772:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5772:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5805:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5805:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5816:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5816:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5801:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5801:3:84"
                        },
                        "nativeSrc": "5801:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5801:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5788:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5788:12:84"
                    },
                    "nativeSrc": "5788:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5788:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "5776:8:84",
                      "nodeType": "YulTypedName",
                      "src": "5776:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5849:16:84",
                    "nodeType": "YulBlock",
                    "src": "5849:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5858:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5858:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5861:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5851:6:84"
                          },
                          "nativeSrc": "5851:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5851:12:84"
                        },
                        "nativeSrc": "5851:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5851:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "5835:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "5835:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "5845:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "5845:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5832:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5832:2:84"
                    },
                    "nativeSrc": "5832:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5832:16:84"
                  },
                  "nativeSrc": "5829:36:84",
                  "nodeType": "YulIf",
                  "src": "5829:36:84"
                },
                {
                  "nativeSrc": "5874:106:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5874:106:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5950:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5950:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "5961:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "5961:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5946:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5946:3:84"
                        },
                        "nativeSrc": "5946:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5946:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5972:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "5972:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "5900:45:84",
                      "nodeType": "YulIdentifier",
                      "src": "5900:45:84"
                    },
                    "nativeSrc": "5900:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5900:80:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "5878:8:84",
                      "nodeType": "YulTypedName",
                      "src": "5878:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "5888:8:84",
                      "nodeType": "YulTypedName",
                      "src": "5888:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5989:18:84",
                  "nodeType": "YulAssignment",
                  "src": "5989:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "5999:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "5999:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "5989:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5989:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "6016:18:84",
                  "nodeType": "YulAssignment",
                  "src": "6016:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "6026:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "6026:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "6016:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6016:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "5138:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5243:9:84",
                "nodeType": "YulTypedName",
                "src": "5243:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5254:7:84",
                "nodeType": "YulTypedName",
                "src": "5254:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5266:6:84",
                "nodeType": "YulTypedName",
                "src": "5266:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5274:6:84",
                "nodeType": "YulTypedName",
                "src": "5274:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "5282:6:84",
                "nodeType": "YulTypedName",
                "src": "5282:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "5290:6:84",
                "nodeType": "YulTypedName",
                "src": "5290:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "5298:6:84",
                "nodeType": "YulTypedName",
                "src": "5298:6:84",
                "type": ""
              }
            ],
            "src": "5138:902:84"
          },
          {
            "body": {
              "nativeSrc": "6272:178:84",
              "nodeType": "YulBlock",
              "src": "6272:178:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6289:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6289:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "6304:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6304:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "6320:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "6320:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "6325:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "6325:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "6316:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "6316:3:84"
                                },
                                "nativeSrc": "6316:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "6316:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6329:1:84",
                                "nodeType": "YulLiteral",
                                "src": "6329:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "6312:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6312:3:84"
                            },
                            "nativeSrc": "6312:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6312:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6300:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6300:3:84"
                        },
                        "nativeSrc": "6300:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6300:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6282:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6282:6:84"
                    },
                    "nativeSrc": "6282:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6282:51:84"
                  },
                  "nativeSrc": "6282:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6282:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6353:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6353:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6364:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6364:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6349:3:84"
                        },
                        "nativeSrc": "6349:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6349:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6369:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6369:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6342:6:84"
                    },
                    "nativeSrc": "6342:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6342:30:84"
                  },
                  "nativeSrc": "6342:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6342:30:84"
                },
                {
                  "nativeSrc": "6381:63:84",
                  "nodeType": "YulAssignment",
                  "src": "6381:63:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "6417:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6417:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6429:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6429:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6440:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6440:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6425:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6425:3:84"
                        },
                        "nativeSrc": "6425:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6425:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "6389:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "6389:27:84"
                    },
                    "nativeSrc": "6389:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6389:55:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6381:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6381:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitnetPriceSolver_$13485_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "6045:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6233:9:84",
                "nodeType": "YulTypedName",
                "src": "6233:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6244:6:84",
                "nodeType": "YulTypedName",
                "src": "6244:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6252:6:84",
                "nodeType": "YulTypedName",
                "src": "6252:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6263:4:84",
                "nodeType": "YulTypedName",
                "src": "6263:4:84",
                "type": ""
              }
            ],
            "src": "6045:405:84"
          },
          {
            "body": {
              "nativeSrc": "6487:95:84",
              "nodeType": "YulBlock",
              "src": "6487:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6504:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6504:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6511:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6511:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6516:10:84",
                            "nodeType": "YulLiteral",
                            "src": "6516:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6507:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6507:3:84"
                        },
                        "nativeSrc": "6507:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6507:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6497:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6497:6:84"
                    },
                    "nativeSrc": "6497:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6497:31:84"
                  },
                  "nativeSrc": "6497:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6497:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6544:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6544:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6547:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6547:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6537:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6537:6:84"
                    },
                    "nativeSrc": "6537:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6537:15:84"
                  },
                  "nativeSrc": "6537:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6537:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6568:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6568:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6571:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6571:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6561:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6561:6:84"
                    },
                    "nativeSrc": "6561:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6561:15:84"
                  },
                  "nativeSrc": "6561:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6561:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6455:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "6455:127:84"
          },
          {
            "body": {
              "nativeSrc": "6633:181:84",
              "nodeType": "YulBlock",
              "src": "6633:181:84",
              "statements": [
                {
                  "nativeSrc": "6643:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6643:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6665:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6665:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6673:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6673:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6661:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6661:3:84"
                    },
                    "nativeSrc": "6661:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6661:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6647:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6647:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6753:22:84",
                    "nodeType": "YulBlock",
                    "src": "6753:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6755:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6755:16:84"
                          },
                          "nativeSrc": "6755:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6755:18:84"
                        },
                        "nativeSrc": "6755:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6755:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6696:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6696:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6708:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6708:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6693:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6693:2:84"
                        },
                        "nativeSrc": "6693:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6693:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6732:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6732:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6744:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6744:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6729:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6729:2:84"
                        },
                        "nativeSrc": "6729:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6729:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6690:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6690:2:84"
                    },
                    "nativeSrc": "6690:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6690:62:84"
                  },
                  "nativeSrc": "6687:88:84",
                  "nodeType": "YulIf",
                  "src": "6687:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6791:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6791:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6797:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "6797:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6784:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6784:6:84"
                    },
                    "nativeSrc": "6784:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6784:24:84"
                  },
                  "nativeSrc": "6784:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6784:24:84"
                }
              ]
            },
            "name": "finalize_allocation_9064",
            "nativeSrc": "6587:227:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6621:6:84",
                "nodeType": "YulTypedName",
                "src": "6621:6:84",
                "type": ""
              }
            ],
            "src": "6587:227:84"
          },
          {
            "body": {
              "nativeSrc": "6865:179:84",
              "nodeType": "YulBlock",
              "src": "6865:179:84",
              "statements": [
                {
                  "nativeSrc": "6875:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6875:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6897:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6897:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6905:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6905:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6893:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6893:3:84"
                    },
                    "nativeSrc": "6893:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6893:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6879:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6879:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6985:22:84",
                    "nodeType": "YulBlock",
                    "src": "6985:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6987:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6987:16:84"
                          },
                          "nativeSrc": "6987:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6987:18:84"
                        },
                        "nativeSrc": "6987:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6987:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6928:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6928:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6940:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6940:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6925:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6925:2:84"
                        },
                        "nativeSrc": "6925:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6925:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6964:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6964:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6976:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6976:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6961:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6961:2:84"
                        },
                        "nativeSrc": "6961:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6961:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6922:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6922:2:84"
                    },
                    "nativeSrc": "6922:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6922:62:84"
                  },
                  "nativeSrc": "6919:88:84",
                  "nodeType": "YulIf",
                  "src": "6919:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7023:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7023:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "7027:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "7027:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7016:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7016:6:84"
                    },
                    "nativeSrc": "7016:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7016:22:84"
                  },
                  "nativeSrc": "7016:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7016:22:84"
                }
              ]
            },
            "name": "finalize_allocation_9072",
            "nativeSrc": "6819:225:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6853:6:84",
                "nodeType": "YulTypedName",
                "src": "6853:6:84",
                "type": ""
              }
            ],
            "src": "6819:225:84"
          },
          {
            "body": {
              "nativeSrc": "7095:179:84",
              "nodeType": "YulBlock",
              "src": "7095:179:84",
              "statements": [
                {
                  "nativeSrc": "7105:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7105:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7127:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7127:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7135:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7135:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7123:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7123:3:84"
                    },
                    "nativeSrc": "7123:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7123:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "7109:10:84",
                      "nodeType": "YulTypedName",
                      "src": "7109:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7215:22:84",
                    "nodeType": "YulBlock",
                    "src": "7215:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "7217:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7217:16:84"
                          },
                          "nativeSrc": "7217:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7217:18:84"
                        },
                        "nativeSrc": "7217:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7217:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7158:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7158:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7170:18:84",
                            "nodeType": "YulLiteral",
                            "src": "7170:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "7155:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7155:2:84"
                        },
                        "nativeSrc": "7155:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7155:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7194:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7194:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "7206:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7206:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7191:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7191:2:84"
                        },
                        "nativeSrc": "7191:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7191:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "7152:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7152:2:84"
                    },
                    "nativeSrc": "7152:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7152:62:84"
                  },
                  "nativeSrc": "7149:88:84",
                  "nodeType": "YulIf",
                  "src": "7149:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7253:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7253:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "7257:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "7257:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7246:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7246:6:84"
                    },
                    "nativeSrc": "7246:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7246:22:84"
                  },
                  "nativeSrc": "7246:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7246:22:84"
                }
              ]
            },
            "name": "finalize_allocation_9078",
            "nativeSrc": "7049:225:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "7083:6:84",
                "nodeType": "YulTypedName",
                "src": "7083:6:84",
                "type": ""
              }
            ],
            "src": "7049:225:84"
          },
          {
            "body": {
              "nativeSrc": "7326:202:84",
              "nodeType": "YulBlock",
              "src": "7326:202:84",
              "statements": [
                {
                  "nativeSrc": "7336:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7336:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7358:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7358:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "7374:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "7374:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7380:2:84",
                                "nodeType": "YulLiteral",
                                "src": "7380:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7370:3:84"
                            },
                            "nativeSrc": "7370:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7370:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7389:2:84",
                                "nodeType": "YulLiteral",
                                "src": "7389:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "7385:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7385:3:84"
                            },
                            "nativeSrc": "7385:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7385:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7366:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7366:3:84"
                        },
                        "nativeSrc": "7366:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7366:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7354:3:84"
                    },
                    "nativeSrc": "7354:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7354:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "7340:10:84",
                      "nodeType": "YulTypedName",
                      "src": "7340:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7469:22:84",
                    "nodeType": "YulBlock",
                    "src": "7469:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "7471:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7471:16:84"
                          },
                          "nativeSrc": "7471:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7471:18:84"
                        },
                        "nativeSrc": "7471:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7471:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7412:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7412:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7424:18:84",
                            "nodeType": "YulLiteral",
                            "src": "7424:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "7409:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7409:2:84"
                        },
                        "nativeSrc": "7409:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7409:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7448:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7448:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "7460:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7460:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7445:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7445:2:84"
                        },
                        "nativeSrc": "7445:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7445:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "7406:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7406:2:84"
                    },
                    "nativeSrc": "7406:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7406:62:84"
                  },
                  "nativeSrc": "7403:88:84",
                  "nodeType": "YulIf",
                  "src": "7403:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7507:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7507:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "7511:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "7511:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7500:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7500:6:84"
                    },
                    "nativeSrc": "7500:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7500:22:84"
                  },
                  "nativeSrc": "7500:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7500:22:84"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "7279:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "7308:6:84",
                "nodeType": "YulTypedName",
                "src": "7308:6:84",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "7316:4:84",
                "nodeType": "YulTypedName",
                "src": "7316:4:84",
                "type": ""
              }
            ],
            "src": "7279:249:84"
          },
          {
            "body": {
              "nativeSrc": "7574:207:84",
              "nodeType": "YulBlock",
              "src": "7574:207:84",
              "statements": [
                {
                  "nativeSrc": "7584:19:84",
                  "nodeType": "YulAssignment",
                  "src": "7584:19:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7600:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7600:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7594:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7594:5:84"
                    },
                    "nativeSrc": "7594:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7594:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7584:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7584:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7612:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7612:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7634:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7634:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7642:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7642:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7630:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7630:3:84"
                    },
                    "nativeSrc": "7630:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7630:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "7616:10:84",
                      "nodeType": "YulTypedName",
                      "src": "7616:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7722:22:84",
                    "nodeType": "YulBlock",
                    "src": "7722:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "7724:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7724:16:84"
                          },
                          "nativeSrc": "7724:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7724:18:84"
                        },
                        "nativeSrc": "7724:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7724:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7665:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7665:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7677:18:84",
                            "nodeType": "YulLiteral",
                            "src": "7677:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "7662:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7662:2:84"
                        },
                        "nativeSrc": "7662:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7662:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "7701:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "7701:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "7713:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7713:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7698:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7698:2:84"
                        },
                        "nativeSrc": "7698:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7698:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "7659:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7659:2:84"
                    },
                    "nativeSrc": "7659:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7659:62:84"
                  },
                  "nativeSrc": "7656:88:84",
                  "nodeType": "YulIf",
                  "src": "7656:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7760:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7760:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "7764:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "7764:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7753:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7753:6:84"
                    },
                    "nativeSrc": "7753:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7753:22:84"
                  },
                  "nativeSrc": "7753:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7753:22:84"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "7533:248:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "7563:6:84",
                "nodeType": "YulTypedName",
                "src": "7563:6:84",
                "type": ""
              }
            ],
            "src": "7533:248:84"
          },
          {
            "body": {
              "nativeSrc": "7843:129:84",
              "nodeType": "YulBlock",
              "src": "7843:129:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7887:22:84",
                    "nodeType": "YulBlock",
                    "src": "7887:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "7889:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7889:16:84"
                          },
                          "nativeSrc": "7889:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7889:18:84"
                        },
                        "nativeSrc": "7889:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7889:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "7859:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7859:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7867:18:84",
                        "nodeType": "YulLiteral",
                        "src": "7867:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7856:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7856:2:84"
                    },
                    "nativeSrc": "7856:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7856:30:84"
                  },
                  "nativeSrc": "7853:56:84",
                  "nodeType": "YulIf",
                  "src": "7853:56:84"
                },
                {
                  "nativeSrc": "7918:48:84",
                  "nodeType": "YulAssignment",
                  "src": "7918:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "7938:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "7938:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7946:2:84",
                                "nodeType": "YulLiteral",
                                "src": "7946:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7934:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7934:3:84"
                            },
                            "nativeSrc": "7934:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7934:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7955:2:84",
                                "nodeType": "YulLiteral",
                                "src": "7955:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "7951:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7951:3:84"
                            },
                            "nativeSrc": "7951:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7951:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7930:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7930:3:84"
                        },
                        "nativeSrc": "7930:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7930:29:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7961:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7961:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7926:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7926:3:84"
                    },
                    "nativeSrc": "7926:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7926:40:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "7918:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "7918:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "7786:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "7823:6:84",
                "nodeType": "YulTypedName",
                "src": "7823:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "7834:4:84",
                "nodeType": "YulTypedName",
                "src": "7834:4:84",
                "type": ""
              }
            ],
            "src": "7786:186:84"
          },
          {
            "body": {
              "nativeSrc": "8051:345:84",
              "nodeType": "YulBlock",
              "src": "8051:345:84",
              "statements": [
                {
                  "nativeSrc": "8061:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8061:45:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "8099:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8099:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "8071:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "8071:27:84"
                    },
                    "nativeSrc": "8071:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8071:35:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8065:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8065:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8115:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8115:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8135:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8135:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8129:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8129:5:84"
                    },
                    "nativeSrc": "8129:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8129:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "8119:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8119:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8167:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8167:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "8175:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8175:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "8147:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "8147:19:84"
                    },
                    "nativeSrc": "8147:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8147:31:84"
                  },
                  "nativeSrc": "8147:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8147:31:84"
                },
                {
                  "nativeSrc": "8187:15:84",
                  "nodeType": "YulAssignment",
                  "src": "8187:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "8196:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "8196:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "8187:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8187:5:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8218:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8218:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8226:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8226:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8211:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8211:6:84"
                    },
                    "nativeSrc": "8211:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8211:22:84"
                  },
                  "nativeSrc": "8211:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8211:22:84"
                },
                {
                  "body": {
                    "nativeSrc": "8271:16:84",
                    "nodeType": "YulBlock",
                    "src": "8271:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8280:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8280:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8283:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8283:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8273:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8273:6:84"
                          },
                          "nativeSrc": "8273:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8273:12:84"
                        },
                        "nativeSrc": "8273:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8273:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "8252:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8252:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "8257:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8257:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8248:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8248:3:84"
                        },
                        "nativeSrc": "8248:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8248:16:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "8266:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8266:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8245:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8245:2:84"
                    },
                    "nativeSrc": "8245:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8245:25:84"
                  },
                  "nativeSrc": "8242:45:84",
                  "nodeType": "YulIf",
                  "src": "8242:45:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "8313:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8313:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8321:4:84",
                            "nodeType": "YulLiteral",
                            "src": "8321:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8309:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8309:3:84"
                        },
                        "nativeSrc": "8309:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8309:17:84"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "8328:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8328:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8333:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8333:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "8296:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8296:12:84"
                    },
                    "nativeSrc": "8296:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8296:44:84"
                  },
                  "nativeSrc": "8296:44:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8296:44:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "8364:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8364:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "8372:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8372:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8360:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8360:3:84"
                            },
                            "nativeSrc": "8360:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8360:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8381:4:84",
                            "nodeType": "YulLiteral",
                            "src": "8381:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8356:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8356:3:84"
                        },
                        "nativeSrc": "8356:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8356:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8388:1:84",
                        "nodeType": "YulLiteral",
                        "src": "8388:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8349:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8349:6:84"
                    },
                    "nativeSrc": "8349:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8349:41:84"
                  },
                  "nativeSrc": "8349:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8349:41:84"
                }
              ]
            },
            "name": "abi_decode_available_length_bytes",
            "nativeSrc": "7977:419:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "8020:3:84",
                "nodeType": "YulTypedName",
                "src": "8020:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "8025:6:84",
                "nodeType": "YulTypedName",
                "src": "8025:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "8033:3:84",
                "nodeType": "YulTypedName",
                "src": "8033:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "8041:5:84",
                "nodeType": "YulTypedName",
                "src": "8041:5:84",
                "type": ""
              }
            ],
            "src": "7977:419:84"
          },
          {
            "body": {
              "nativeSrc": "8480:370:84",
              "nodeType": "YulBlock",
              "src": "8480:370:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8526:16:84",
                    "nodeType": "YulBlock",
                    "src": "8526:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8535:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8535:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8538:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8538:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8528:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8528:6:84"
                          },
                          "nativeSrc": "8528:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8528:12:84"
                        },
                        "nativeSrc": "8528:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8528:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8501:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8501:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8510:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8510:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8497:3:84"
                        },
                        "nativeSrc": "8497:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8497:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8522:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8522:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8493:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8493:3:84"
                    },
                    "nativeSrc": "8493:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8493:32:84"
                  },
                  "nativeSrc": "8490:52:84",
                  "nodeType": "YulIf",
                  "src": "8490:52:84"
                },
                {
                  "nativeSrc": "8551:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8551:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8578:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8578:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8565:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8565:12:84"
                    },
                    "nativeSrc": "8565:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8565:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8555:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8555:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8631:16:84",
                    "nodeType": "YulBlock",
                    "src": "8631:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8640:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8640:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8643:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8643:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8633:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8633:6:84"
                          },
                          "nativeSrc": "8633:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8633:12:84"
                        },
                        "nativeSrc": "8633:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8633:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8603:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8603:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8611:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8611:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8600:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8600:2:84"
                    },
                    "nativeSrc": "8600:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8600:30:84"
                  },
                  "nativeSrc": "8597:50:84",
                  "nodeType": "YulIf",
                  "src": "8597:50:84"
                },
                {
                  "nativeSrc": "8656:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8656:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8670:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8670:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "8681:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8681:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8666:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8666:3:84"
                    },
                    "nativeSrc": "8666:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8666:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8660:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8660:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8736:16:84",
                    "nodeType": "YulBlock",
                    "src": "8736:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8745:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8745:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8748:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8748:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8738:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8738:6:84"
                          },
                          "nativeSrc": "8738:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8738:12:84"
                        },
                        "nativeSrc": "8738:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8738:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8715:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8715:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8719:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8719:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8711:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8711:3:84"
                            },
                            "nativeSrc": "8711:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8711:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8726:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8726:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8707:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8707:3:84"
                        },
                        "nativeSrc": "8707:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8707:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8700:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8700:6:84"
                    },
                    "nativeSrc": "8700:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8700:35:84"
                  },
                  "nativeSrc": "8697:55:84",
                  "nodeType": "YulIf",
                  "src": "8697:55:84"
                },
                {
                  "nativeSrc": "8761:83:84",
                  "nodeType": "YulAssignment",
                  "src": "8761:83:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "8809:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8809:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8813:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8813:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8805:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8805:3:84"
                        },
                        "nativeSrc": "8805:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8805:11:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "8831:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8831:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "8818:12:84",
                          "nodeType": "YulIdentifier",
                          "src": "8818:12:84"
                        },
                        "nativeSrc": "8818:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8818:16:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8836:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8836:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "8771:33:84",
                      "nodeType": "YulIdentifier",
                      "src": "8771:33:84"
                    },
                    "nativeSrc": "8771:73:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8771:73:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8761:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8761:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "8401:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8446:9:84",
                "nodeType": "YulTypedName",
                "src": "8446:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8457:7:84",
                "nodeType": "YulTypedName",
                "src": "8457:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8469:6:84",
                "nodeType": "YulTypedName",
                "src": "8469:6:84",
                "type": ""
              }
            ],
            "src": "8401:449:84"
          },
          {
            "body": {
              "nativeSrc": "8976:102:84",
              "nodeType": "YulBlock",
              "src": "8976:102:84",
              "statements": [
                {
                  "nativeSrc": "8986:26:84",
                  "nodeType": "YulAssignment",
                  "src": "8986:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8998:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8998:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9009:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9009:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8994:3:84"
                    },
                    "nativeSrc": "8994:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8994:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8986:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "8986:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9028:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9028:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9043:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9043:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9059:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "9059:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9064:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "9064:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "9055:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "9055:3:84"
                                },
                                "nativeSrc": "9055:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "9055:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9068:1:84",
                                "nodeType": "YulLiteral",
                                "src": "9068:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "9051:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9051:3:84"
                            },
                            "nativeSrc": "9051:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9051:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9039:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9039:3:84"
                        },
                        "nativeSrc": "9039:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9039:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9021:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9021:6:84"
                    },
                    "nativeSrc": "9021:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9021:51:84"
                  },
                  "nativeSrc": "9021:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9021:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetOracle_$749__to_t_address__fromStack_reversed",
            "nativeSrc": "8855:223:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8945:9:84",
                "nodeType": "YulTypedName",
                "src": "8945:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8956:6:84",
                "nodeType": "YulTypedName",
                "src": "8956:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8967:4:84",
                "nodeType": "YulTypedName",
                "src": "8967:4:84",
                "type": ""
              }
            ],
            "src": "8855:223:84"
          },
          {
            "body": {
              "nativeSrc": "9115:95:84",
              "nodeType": "YulBlock",
              "src": "9115:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9132:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9132:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "9139:3:84",
                            "nodeType": "YulLiteral",
                            "src": "9139:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9144:10:84",
                            "nodeType": "YulLiteral",
                            "src": "9144:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "9135:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9135:3:84"
                        },
                        "nativeSrc": "9135:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9135:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9125:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9125:6:84"
                    },
                    "nativeSrc": "9125:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9125:31:84"
                  },
                  "nativeSrc": "9125:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9125:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9172:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9172:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9175:4:84",
                        "nodeType": "YulLiteral",
                        "src": "9175:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9165:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9165:6:84"
                    },
                    "nativeSrc": "9165:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9165:15:84"
                  },
                  "nativeSrc": "9165:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9165:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9196:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9196:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9199:4:84",
                        "nodeType": "YulLiteral",
                        "src": "9199:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "9189:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9189:6:84"
                    },
                    "nativeSrc": "9189:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9189:15:84"
                  },
                  "nativeSrc": "9189:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9189:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "9083:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "9083:127:84"
          },
          {
            "body": {
              "nativeSrc": "9376:324:84",
              "nodeType": "YulBlock",
              "src": "9376:324:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9393:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9393:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9404:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9404:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9386:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9386:6:84"
                    },
                    "nativeSrc": "9386:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9386:21:84"
                  },
                  "nativeSrc": "9386:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9386:21:84"
                },
                {
                  "nativeSrc": "9416:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9416:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9432:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9432:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9426:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9426:5:84"
                    },
                    "nativeSrc": "9426:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9426:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9420:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9420:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9471:22:84",
                    "nodeType": "YulBlock",
                    "src": "9471:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "9473:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "9473:16:84"
                          },
                          "nativeSrc": "9473:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9473:18:84"
                        },
                        "nativeSrc": "9473:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9473:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9461:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9461:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9465:3:84",
                            "nodeType": "YulLiteral",
                            "src": "9465:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9458:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9458:2:84"
                        },
                        "nativeSrc": "9458:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9458:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9451:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9451:6:84"
                    },
                    "nativeSrc": "9451:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9451:19:84"
                  },
                  "nativeSrc": "9448:45:84",
                  "nodeType": "YulIf",
                  "src": "9448:45:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9513:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9513:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9524:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9524:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9509:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9509:3:84"
                        },
                        "nativeSrc": "9509:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9509:18:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "9529:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9529:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9502:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9502:6:84"
                    },
                    "nativeSrc": "9502:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9502:30:84"
                  },
                  "nativeSrc": "9502:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9502:30:84"
                },
                {
                  "nativeSrc": "9541:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9541:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9571:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9571:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9579:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9579:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9567:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9567:3:84"
                        },
                        "nativeSrc": "9567:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9567:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9561:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9561:5:84"
                    },
                    "nativeSrc": "9561:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9561:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "9545:12:84",
                      "nodeType": "YulTypedName",
                      "src": "9545:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9603:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9603:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9614:4:84",
                            "nodeType": "YulLiteral",
                            "src": "9614:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9599:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9599:3:84"
                        },
                        "nativeSrc": "9599:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9599:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9621:4:84",
                        "nodeType": "YulLiteral",
                        "src": "9621:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9592:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9592:6:84"
                    },
                    "nativeSrc": "9592:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9592:34:84"
                  },
                  "nativeSrc": "9592:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9592:34:84"
                },
                {
                  "nativeSrc": "9635:59:84",
                  "nodeType": "YulAssignment",
                  "src": "9635:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "9661:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "9661:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9679:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9679:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9690:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9690:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9675:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9675:3:84"
                        },
                        "nativeSrc": "9675:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9675:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "9643:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "9643:17:84"
                    },
                    "nativeSrc": "9643:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9643:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9635:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "9635:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed",
            "nativeSrc": "9215:485:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9345:9:84",
                "nodeType": "YulTypedName",
                "src": "9345:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9356:6:84",
                "nodeType": "YulTypedName",
                "src": "9356:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9367:4:84",
                "nodeType": "YulTypedName",
                "src": "9367:4:84",
                "type": ""
              }
            ],
            "src": "9215:485:84"
          },
          {
            "body": {
              "nativeSrc": "9824:99:84",
              "nodeType": "YulBlock",
              "src": "9824:99:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9841:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9841:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9852:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9852:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9834:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9834:6:84"
                    },
                    "nativeSrc": "9834:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9834:21:84"
                  },
                  "nativeSrc": "9834:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9834:21:84"
                },
                {
                  "nativeSrc": "9864:53:84",
                  "nodeType": "YulAssignment",
                  "src": "9864:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9890:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9890:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9902:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9902:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9913:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9913:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9898:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9898:3:84"
                        },
                        "nativeSrc": "9898:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9898:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "9872:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "9872:17:84"
                    },
                    "nativeSrc": "9872:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9872:45:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9864:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "9864:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "9705:218:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9793:9:84",
                "nodeType": "YulTypedName",
                "src": "9793:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9804:6:84",
                "nodeType": "YulTypedName",
                "src": "9804:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9815:4:84",
                "nodeType": "YulTypedName",
                "src": "9815:4:84",
                "type": ""
              }
            ],
            "src": "9705:218:84"
          },
          {
            "body": {
              "nativeSrc": "10029:102:84",
              "nodeType": "YulBlock",
              "src": "10029:102:84",
              "statements": [
                {
                  "nativeSrc": "10039:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10039:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10051:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10051:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10062:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10062:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10047:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10047:3:84"
                    },
                    "nativeSrc": "10047:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10047:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10039:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10039:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10081:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10081:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10096:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10096:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10112:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10112:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10117:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10117:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10108:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10108:3:84"
                                },
                                "nativeSrc": "10108:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "10108:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10121:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10121:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10104:3:84"
                            },
                            "nativeSrc": "10104:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10104:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10092:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10092:3:84"
                        },
                        "nativeSrc": "10092:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10092:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10074:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10074:6:84"
                    },
                    "nativeSrc": "10074:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10074:51:84"
                  },
                  "nativeSrc": "10074:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10074:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "9928:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9998:9:84",
                "nodeType": "YulTypedName",
                "src": "9998:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10009:6:84",
                "nodeType": "YulTypedName",
                "src": "10009:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10020:4:84",
                "nodeType": "YulTypedName",
                "src": "10020:4:84",
                "type": ""
              }
            ],
            "src": "9928:203:84"
          },
          {
            "body": {
              "nativeSrc": "10237:76:84",
              "nodeType": "YulBlock",
              "src": "10237:76:84",
              "statements": [
                {
                  "nativeSrc": "10247:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10247:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10259:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10259:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10270:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10270:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10255:3:84"
                    },
                    "nativeSrc": "10255:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10255:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10247:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10247:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10289:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10289:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "10300:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10300:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10282:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10282:6:84"
                    },
                    "nativeSrc": "10282:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10282:25:84"
                  },
                  "nativeSrc": "10282:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10282:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10136:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10206:9:84",
                "nodeType": "YulTypedName",
                "src": "10206:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10217:6:84",
                "nodeType": "YulTypedName",
                "src": "10217:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10228:4:84",
                "nodeType": "YulTypedName",
                "src": "10228:4:84",
                "type": ""
              }
            ],
            "src": "10136:177:84"
          },
          {
            "body": {
              "nativeSrc": "10413:92:84",
              "nodeType": "YulBlock",
              "src": "10413:92:84",
              "statements": [
                {
                  "nativeSrc": "10423:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10423:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10435:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10435:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10446:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10446:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10431:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10431:3:84"
                    },
                    "nativeSrc": "10431:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10431:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10423:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10423:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10465:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10465:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "10490:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10490:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "10483:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10483:6:84"
                            },
                            "nativeSrc": "10483:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10483:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "10476:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "10476:6:84"
                        },
                        "nativeSrc": "10476:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10476:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10458:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10458:6:84"
                    },
                    "nativeSrc": "10458:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10458:41:84"
                  },
                  "nativeSrc": "10458:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10458:41:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "10318:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10382:9:84",
                "nodeType": "YulTypedName",
                "src": "10382:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10393:6:84",
                "nodeType": "YulTypedName",
                "src": "10393:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10404:4:84",
                "nodeType": "YulTypedName",
                "src": "10404:4:84",
                "type": ""
              }
            ],
            "src": "10318:187:84"
          },
          {
            "body": {
              "nativeSrc": "10631:99:84",
              "nodeType": "YulBlock",
              "src": "10631:99:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10648:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10648:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10659:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10659:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10641:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10641:6:84"
                    },
                    "nativeSrc": "10641:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10641:21:84"
                  },
                  "nativeSrc": "10641:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10641:21:84"
                },
                {
                  "nativeSrc": "10671:53:84",
                  "nodeType": "YulAssignment",
                  "src": "10671:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10697:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10697:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10709:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10709:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10720:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10720:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10705:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10705:3:84"
                        },
                        "nativeSrc": "10705:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10705:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "10679:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "10679:17:84"
                    },
                    "nativeSrc": "10679:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10679:45:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10671:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10671:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10510:220:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10600:9:84",
                "nodeType": "YulTypedName",
                "src": "10600:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10611:6:84",
                "nodeType": "YulTypedName",
                "src": "10611:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10622:4:84",
                "nodeType": "YulTypedName",
                "src": "10622:4:84",
                "type": ""
              }
            ],
            "src": "10510:220:84"
          },
          {
            "body": {
              "nativeSrc": "10791:90:84",
              "nodeType": "YulBlock",
              "src": "10791:90:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10826:22:84",
                    "nodeType": "YulBlock",
                    "src": "10826:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "10828:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10828:16:84"
                          },
                          "nativeSrc": "10828:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10828:18:84"
                        },
                        "nativeSrc": "10828:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10828:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10814:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "10814:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10821:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10821:2:84",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "10811:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "10811:2:84"
                        },
                        "nativeSrc": "10811:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10811:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "10804:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10804:6:84"
                    },
                    "nativeSrc": "10804:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10804:21:84"
                  },
                  "nativeSrc": "10801:47:84",
                  "nodeType": "YulIf",
                  "src": "10801:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "10864:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "10864:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "10869:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "10869:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10857:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10857:6:84"
                    },
                    "nativeSrc": "10857:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10857:18:84"
                  },
                  "nativeSrc": "10857:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10857:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_RadonDataTypes",
            "nativeSrc": "10735:146:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "10775:5:84",
                "nodeType": "YulTypedName",
                "src": "10775:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "10782:3:84",
                "nodeType": "YulTypedName",
                "src": "10782:3:84",
                "type": ""
              }
            ],
            "src": "10735:146:84"
          },
          {
            "body": {
              "nativeSrc": "11005:100:84",
              "nodeType": "YulBlock",
              "src": "11005:100:84",
              "statements": [
                {
                  "nativeSrc": "11015:26:84",
                  "nodeType": "YulAssignment",
                  "src": "11015:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11027:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11027:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11038:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11038:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11023:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11023:3:84"
                    },
                    "nativeSrc": "11023:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11023:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11015:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11015:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11081:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11081:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "11089:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11089:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_RadonDataTypes",
                      "nativeSrc": "11050:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "11050:30:84"
                    },
                    "nativeSrc": "11050:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11050:49:84"
                  },
                  "nativeSrc": "11050:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11050:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_RadonDataTypes_$16432__to_t_uint8__fromStack_reversed",
            "nativeSrc": "10886:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10974:9:84",
                "nodeType": "YulTypedName",
                "src": "10974:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10985:6:84",
                "nodeType": "YulTypedName",
                "src": "10985:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10996:4:84",
                "nodeType": "YulTypedName",
                "src": "10996:4:84",
                "type": ""
              }
            ],
            "src": "10886:219:84"
          },
          {
            "body": {
              "nativeSrc": "11207:87:84",
              "nodeType": "YulBlock",
              "src": "11207:87:84",
              "statements": [
                {
                  "nativeSrc": "11217:26:84",
                  "nodeType": "YulAssignment",
                  "src": "11217:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11229:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11229:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11240:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11240:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11225:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11225:3:84"
                    },
                    "nativeSrc": "11225:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11225:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11217:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11217:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11259:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11259:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11274:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11274:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11282:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11282:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11270:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11270:3:84"
                        },
                        "nativeSrc": "11270:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11270:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11252:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11252:6:84"
                    },
                    "nativeSrc": "11252:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11252:36:84"
                  },
                  "nativeSrc": "11252:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11252:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
            "nativeSrc": "11110:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11176:9:84",
                "nodeType": "YulTypedName",
                "src": "11176:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11187:6:84",
                "nodeType": "YulTypedName",
                "src": "11187:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11198:4:84",
                "nodeType": "YulTypedName",
                "src": "11198:4:84",
                "type": ""
              }
            ],
            "src": "11110:184:84"
          },
          {
            "body": {
              "nativeSrc": "11369:177:84",
              "nodeType": "YulBlock",
              "src": "11369:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11415:16:84",
                    "nodeType": "YulBlock",
                    "src": "11415:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11424:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11424:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11427:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11427:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11417:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11417:6:84"
                          },
                          "nativeSrc": "11417:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11417:12:84"
                        },
                        "nativeSrc": "11417:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11417:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "11390:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "11390:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "11399:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11399:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11386:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11386:3:84"
                        },
                        "nativeSrc": "11386:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11386:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11411:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11411:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "11382:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11382:3:84"
                    },
                    "nativeSrc": "11382:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11382:32:84"
                  },
                  "nativeSrc": "11379:52:84",
                  "nodeType": "YulIf",
                  "src": "11379:52:84"
                },
                {
                  "nativeSrc": "11440:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11440:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11466:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11466:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11453:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11453:12:84"
                    },
                    "nativeSrc": "11453:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11453:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "11444:5:84",
                      "nodeType": "YulTypedName",
                      "src": "11444:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11510:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "11510:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "11485:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "11485:24:84"
                    },
                    "nativeSrc": "11485:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11485:31:84"
                  },
                  "nativeSrc": "11485:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11485:31:84"
                },
                {
                  "nativeSrc": "11525:15:84",
                  "nodeType": "YulAssignment",
                  "src": "11525:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "11535:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "11535:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "11525:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11525:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "11299:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11335:9:84",
                "nodeType": "YulTypedName",
                "src": "11335:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "11346:7:84",
                "nodeType": "YulTypedName",
                "src": "11346:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "11358:6:84",
                "nodeType": "YulTypedName",
                "src": "11358:6:84",
                "type": ""
              }
            ],
            "src": "11299:247:84"
          },
          {
            "body": {
              "nativeSrc": "11706:463:84",
              "nodeType": "YulBlock",
              "src": "11706:463:84",
              "statements": [
                {
                  "nativeSrc": "11716:27:84",
                  "nodeType": "YulAssignment",
                  "src": "11716:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11728:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11728:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11739:3:84",
                        "nodeType": "YulLiteral",
                        "src": "11739:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11724:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11724:3:84"
                    },
                    "nativeSrc": "11724:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11724:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11716:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11716:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11759:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11759:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "11780:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "11780:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11774:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "11774:5:84"
                            },
                            "nativeSrc": "11774:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11774:13:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11789:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11789:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11770:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11770:3:84"
                        },
                        "nativeSrc": "11770:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11770:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11752:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11752:6:84"
                    },
                    "nativeSrc": "11752:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11752:43:84"
                  },
                  "nativeSrc": "11752:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11752:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11815:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11815:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11826:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11826:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11811:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11811:3:84"
                        },
                        "nativeSrc": "11811:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11811:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "11847:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "11847:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11855:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "11855:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "11843:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "11843:3:84"
                                },
                                "nativeSrc": "11843:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "11843:17:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "11837:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "11837:5:84"
                            },
                            "nativeSrc": "11837:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11837:24:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11863:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11863:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11833:3:84"
                        },
                        "nativeSrc": "11833:35:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11833:35:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11804:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11804:6:84"
                    },
                    "nativeSrc": "11804:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11804:65:84"
                  },
                  "nativeSrc": "11804:65:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11804:65:84"
                },
                {
                  "nativeSrc": "11878:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11878:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11908:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11908:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11916:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11916:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11904:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11904:3:84"
                        },
                        "nativeSrc": "11904:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11904:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11898:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11898:5:84"
                    },
                    "nativeSrc": "11898:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11898:24:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "11882:12:84",
                      "nodeType": "YulTypedName",
                      "src": "11882:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11931:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11931:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11941:18:84",
                    "nodeType": "YulLiteral",
                    "src": "11941:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11935:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11935:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11979:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11979:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11990:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11990:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11975:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11975:3:84"
                        },
                        "nativeSrc": "11975:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11975:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "12001:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "12001:12:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "12015:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "12015:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11997:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11997:3:84"
                        },
                        "nativeSrc": "11997:21:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11997:21:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11968:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11968:6:84"
                    },
                    "nativeSrc": "11968:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11968:51:84"
                  },
                  "nativeSrc": "11968:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11968:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12039:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12039:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12050:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12050:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12035:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12035:3:84"
                        },
                        "nativeSrc": "12035:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12035:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "12071:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "12071:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12079:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "12079:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12067:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "12067:3:84"
                                },
                                "nativeSrc": "12067:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "12067:17:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "12061:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "12061:5:84"
                            },
                            "nativeSrc": "12061:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12061:24:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "12087:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "12087:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "12057:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12057:3:84"
                        },
                        "nativeSrc": "12057:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12057:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12028:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12028:6:84"
                    },
                    "nativeSrc": "12028:63:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12028:63:84"
                  },
                  "nativeSrc": "12028:63:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12028:63:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12111:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12111:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12122:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12122:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12107:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12107:3:84"
                        },
                        "nativeSrc": "12107:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12107:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "12143:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "12143:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12151:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "12151:4:84",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12139:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "12139:3:84"
                                },
                                "nativeSrc": "12139:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "12139:17:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "12133:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "12133:5:84"
                            },
                            "nativeSrc": "12133:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12133:24:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "12159:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "12159:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "12129:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12129:3:84"
                        },
                        "nativeSrc": "12129:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12129:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12100:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12100:6:84"
                    },
                    "nativeSrc": "12100:63:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12100:63:84"
                  },
                  "nativeSrc": "12100:63:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12100:63:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_RadonSLA_$16519_memory_ptr__to_t_struct$_RadonSLA_$16519_memory_ptr__fromStack_reversed",
            "nativeSrc": "11551:618:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11675:9:84",
                "nodeType": "YulTypedName",
                "src": "11675:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11686:6:84",
                "nodeType": "YulTypedName",
                "src": "11686:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11697:4:84",
                "nodeType": "YulTypedName",
                "src": "11697:4:84",
                "type": ""
              }
            ],
            "src": "11551:618:84"
          },
          {
            "body": {
              "nativeSrc": "12305:102:84",
              "nodeType": "YulBlock",
              "src": "12305:102:84",
              "statements": [
                {
                  "nativeSrc": "12315:26:84",
                  "nodeType": "YulAssignment",
                  "src": "12315:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12327:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12327:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12338:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12338:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12323:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12323:3:84"
                    },
                    "nativeSrc": "12323:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12323:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "12315:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "12315:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12357:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12357:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "12372:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12372:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12388:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "12388:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12393:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "12393:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "12384:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "12384:3:84"
                                },
                                "nativeSrc": "12384:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "12384:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "12397:1:84",
                                "nodeType": "YulLiteral",
                                "src": "12397:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "12380:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12380:3:84"
                            },
                            "nativeSrc": "12380:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12380:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "12368:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12368:3:84"
                        },
                        "nativeSrc": "12368:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12368:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12350:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12350:6:84"
                    },
                    "nativeSrc": "12350:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12350:51:84"
                  },
                  "nativeSrc": "12350:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12350:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed",
            "nativeSrc": "12174:233:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12274:9:84",
                "nodeType": "YulTypedName",
                "src": "12274:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12285:6:84",
                "nodeType": "YulTypedName",
                "src": "12285:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12296:4:84",
                "nodeType": "YulTypedName",
                "src": "12296:4:84",
                "type": ""
              }
            ],
            "src": "12174:233:84"
          },
          {
            "body": {
              "nativeSrc": "12477:89:84",
              "nodeType": "YulBlock",
              "src": "12477:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12511:22:84",
                    "nodeType": "YulBlock",
                    "src": "12511:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "12513:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "12513:16:84"
                          },
                          "nativeSrc": "12513:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12513:18:84"
                        },
                        "nativeSrc": "12513:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12513:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "12500:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "12500:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12507:1:84",
                            "nodeType": "YulLiteral",
                            "src": "12507:1:84",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "12497:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "12497:2:84"
                        },
                        "nativeSrc": "12497:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12497:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12490:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12490:6:84"
                    },
                    "nativeSrc": "12490:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12490:20:84"
                  },
                  "nativeSrc": "12487:46:84",
                  "nodeType": "YulIf",
                  "src": "12487:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12549:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12549:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "12554:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "12554:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12542:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12542:6:84"
                    },
                    "nativeSrc": "12542:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12542:18:84"
                  },
                  "nativeSrc": "12542:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12542:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_RadonDataRequestMethods",
            "nativeSrc": "12412:154:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "12461:5:84",
                "nodeType": "YulTypedName",
                "src": "12461:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "12468:3:84",
                "nodeType": "YulTypedName",
                "src": "12468:3:84",
                "type": ""
              }
            ],
            "src": "12412:154:84"
          },
          {
            "body": {
              "nativeSrc": "12637:1004:84",
              "nodeType": "YulBlock",
              "src": "12637:1004:84",
              "statements": [
                {
                  "nativeSrc": "12647:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12647:16:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "12660:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "12660:3:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "12651:5:84",
                      "nodeType": "YulTypedName",
                      "src": "12651:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12672:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12672:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12692:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "12692:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12686:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "12686:5:84"
                    },
                    "nativeSrc": "12686:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12686:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "12676:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12676:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12714:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12714:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12719:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12719:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12707:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12707:6:84"
                    },
                    "nativeSrc": "12707:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12707:19:84"
                  },
                  "nativeSrc": "12707:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12707:19:84"
                },
                {
                  "nativeSrc": "12735:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12735:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "12745:4:84",
                    "nodeType": "YulLiteral",
                    "src": "12745:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "12739:2:84",
                      "nodeType": "YulTypedName",
                      "src": "12739:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12758:19:84",
                  "nodeType": "YulAssignment",
                  "src": "12758:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12769:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12769:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "12774:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "12774:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12765:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12765:3:84"
                    },
                    "nativeSrc": "12765:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12765:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "12758:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12758:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12786:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12786:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "12806:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "12806:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "12817:1:84",
                                "nodeType": "YulLiteral",
                                "src": "12817:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12820:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12820:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "12813:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12813:3:84"
                            },
                            "nativeSrc": "12813:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12813:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12802:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12802:3:84"
                        },
                        "nativeSrc": "12802:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12802:26:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "12830:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "12830:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12798:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12798:3:84"
                    },
                    "nativeSrc": "12798:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12798:35:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "12790:4:84",
                      "nodeType": "YulTypedName",
                      "src": "12790:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12842:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12842:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12860:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "12860:5:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "12867:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "12867:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12856:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12856:3:84"
                    },
                    "nativeSrc": "12856:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12856:14:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "12846:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12846:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12879:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12879:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "12888:1:84",
                    "nodeType": "YulLiteral",
                    "src": "12888:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "12883:1:84",
                      "nodeType": "YulTypedName",
                      "src": "12883:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12898:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12898:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "12909:1:84",
                    "nodeType": "YulLiteral",
                    "src": "12909:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "12902:3:84",
                      "nodeType": "YulTypedName",
                      "src": "12902:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12974:641:84",
                    "nodeType": "YulBlock",
                    "src": "12974:641:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "12995:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12995:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "13008:4:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "13008:4:84"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "13014:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "13014:5:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "13004:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13004:3:84"
                                  },
                                  "nativeSrc": "13004:16:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13004:16:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "13026:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "13026:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "13022:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13022:3:84"
                                  },
                                  "nativeSrc": "13022:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13022:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13000:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "13000:3:84"
                              },
                              "nativeSrc": "13000:30:84",
                              "nodeType": "YulFunctionCall",
                              "src": "13000:30:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "12988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12988:6:84"
                          },
                          "nativeSrc": "12988:43:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12988:43:84"
                        },
                        "nativeSrc": "12988:43:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12988:43:84"
                      },
                      {
                        "nativeSrc": "13044:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13044:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13060:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "13060:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13054:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13054:5:84"
                          },
                          "nativeSrc": "13054:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13054:13:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "13048:2:84",
                            "nodeType": "YulTypedName",
                            "src": "13048:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13080:17:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13080:17:84",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "13093:4:84",
                          "nodeType": "YulIdentifier",
                          "src": "13093:4:84"
                        },
                        "variables": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "13084:5:84",
                            "nodeType": "YulTypedName",
                            "src": "13084:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13110:13:84",
                        "nodeType": "YulAssignment",
                        "src": "13110:13:84",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "13119:4:84",
                          "nodeType": "YulIdentifier",
                          "src": "13119:4:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "13110:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13110:5:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13136:27:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13136:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "tail",
                              "nativeSrc": "13154:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "13154:4:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13160:2:84",
                              "nodeType": "YulLiteral",
                              "src": "13160:2:84",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13150:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13150:3:84"
                          },
                          "nativeSrc": "13150:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13150:13:84"
                        },
                        "variables": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "13140:6:84",
                            "nodeType": "YulTypedName",
                            "src": "13140:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13176:18:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13176:18:84",
                        "value": {
                          "name": "_2",
                          "nativeSrc": "13192:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "13192:2:84"
                        },
                        "variables": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "13180:8:84",
                            "nodeType": "YulTypedName",
                            "src": "13180:8:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13207:12:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13207:12:84",
                        "value": {
                          "name": "i",
                          "nativeSrc": "13218:1:84",
                          "nodeType": "YulIdentifier",
                          "src": "13218:1:84"
                        },
                        "variables": [
                          {
                            "name": "i_2",
                            "nativeSrc": "13211:3:84",
                            "nodeType": "YulTypedName",
                            "src": "13211:3:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "13289:219:84",
                          "nodeType": "YulBlock",
                          "src": "13289:219:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "13314:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13314:5:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "tail_1",
                                        "nativeSrc": "13325:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "13325:6:84"
                                      },
                                      {
                                        "name": "tail",
                                        "nativeSrc": "13333:4:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "13333:4:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sub",
                                      "nativeSrc": "13321:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "13321:3:84"
                                    },
                                    "nativeSrc": "13321:17:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "13321:17:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "13307:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13307:6:84"
                                },
                                "nativeSrc": "13307:32:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13307:32:84"
                              },
                              "nativeSrc": "13307:32:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "13307:32:84"
                            },
                            {
                              "nativeSrc": "13356:52:84",
                              "nodeType": "YulAssignment",
                              "src": "13356:52:84",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "srcPtr_1",
                                        "nativeSrc": "13390:8:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "13390:8:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "13384:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "13384:5:84"
                                    },
                                    "nativeSrc": "13384:15:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "13384:15:84"
                                  },
                                  {
                                    "name": "tail_1",
                                    "nativeSrc": "13401:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13401:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_string",
                                  "nativeSrc": "13366:17:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13366:17:84"
                                },
                                "nativeSrc": "13366:42:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13366:42:84"
                              },
                              "variableNames": [
                                {
                                  "name": "tail_1",
                                  "nativeSrc": "13356:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13356:6:84"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "13425:29:84",
                              "nodeType": "YulAssignment",
                              "src": "13425:29:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "srcPtr_1",
                                    "nativeSrc": "13441:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13441:8:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "13451:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13451:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "13437:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13437:3:84"
                                },
                                "nativeSrc": "13437:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13437:17:84"
                              },
                              "variableNames": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "13425:8:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13425:8:84"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "13471:23:84",
                              "nodeType": "YulAssignment",
                              "src": "13471:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "13484:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13484:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "13491:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13491:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "13480:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13480:3:84"
                                },
                                "nativeSrc": "13480:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13480:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "pos_2",
                                  "nativeSrc": "13471:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13471:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "i_2",
                              "nativeSrc": "13243:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13243:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13248:4:84",
                              "nodeType": "YulLiteral",
                              "src": "13248:4:84",
                              "type": "",
                              "value": "0x02"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "13240:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "13240:2:84"
                          },
                          "nativeSrc": "13240:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13240:13:84"
                        },
                        "nativeSrc": "13232:276:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "13254:22:84",
                          "nodeType": "YulBlock",
                          "src": "13254:22:84",
                          "statements": [
                            {
                              "nativeSrc": "13256:18:84",
                              "nodeType": "YulAssignment",
                              "src": "13256:18:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "i_2",
                                    "nativeSrc": "13267:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "13267:3:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13272:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13272:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "13263:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13263:3:84"
                                },
                                "nativeSrc": "13263:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13263:11:84"
                              },
                              "variableNames": [
                                {
                                  "name": "i_2",
                                  "nativeSrc": "13256:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13256:3:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "13236:3:84",
                          "nodeType": "YulBlock",
                          "src": "13236:3:84",
                          "statements": []
                        },
                        "src": "13232:276:84"
                      },
                      {
                        "nativeSrc": "13521:14:84",
                        "nodeType": "YulAssignment",
                        "src": "13521:14:84",
                        "value": {
                          "name": "tail_1",
                          "nativeSrc": "13529:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "13529:6:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "13521:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "13521:4:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13548:25:84",
                        "nodeType": "YulAssignment",
                        "src": "13548:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13562:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "13562:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "13570:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "13570:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13558:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13558:3:84"
                          },
                          "nativeSrc": "13558:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13558:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "13548:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13548:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13586:19:84",
                        "nodeType": "YulAssignment",
                        "src": "13586:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "13597:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13597:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "13602:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "13602:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13593:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13593:3:84"
                          },
                          "nativeSrc": "13593:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13593:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "13586:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13586:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "12930:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12930:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12935:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12935:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "12927:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12927:2:84"
                    },
                    "nativeSrc": "12927:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12927:15:84"
                  },
                  "nativeSrc": "12919:696:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "12943:22:84",
                    "nodeType": "YulBlock",
                    "src": "12943:22:84",
                    "statements": [
                      {
                        "nativeSrc": "12945:18:84",
                        "nodeType": "YulAssignment",
                        "src": "12945:18:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "12956:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12956:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12961:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12961:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12952:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12952:3:84"
                          },
                          "nativeSrc": "12952:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12952:11:84"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "12945:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12945:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "12923:3:84",
                    "nodeType": "YulBlock",
                    "src": "12923:3:84",
                    "statements": []
                  },
                  "src": "12919:696:84"
                },
                {
                  "nativeSrc": "13624:11:84",
                  "nodeType": "YulAssignment",
                  "src": "13624:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "13631:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "13631:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "13624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13624:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_array_string_dyn",
            "nativeSrc": "12571:1070:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "12614:5:84",
                "nodeType": "YulTypedName",
                "src": "12614:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "12621:3:84",
                "nodeType": "YulTypedName",
                "src": "12621:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "12629:3:84",
                "nodeType": "YulTypedName",
                "src": "12629:3:84",
                "type": ""
              }
            ],
            "src": "12571:1070:84"
          },
          {
            "body": {
              "nativeSrc": "13863:1789:84",
              "nodeType": "YulBlock",
              "src": "13863:1789:84",
              "statements": [
                {
                  "nativeSrc": "13873:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13873:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13883:2:84",
                    "nodeType": "YulLiteral",
                    "src": "13883:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13877:2:84",
                      "nodeType": "YulTypedName",
                      "src": "13877:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13894:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13894:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13912:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13912:9:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "13923:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "13923:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13908:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13908:3:84"
                    },
                    "nativeSrc": "13908:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13908:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "13898:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13898:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13942:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13942:9:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "13953:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "13953:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13935:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13935:6:84"
                    },
                    "nativeSrc": "13935:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13935:21:84"
                  },
                  "nativeSrc": "13935:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13935:21:84"
                },
                {
                  "nativeSrc": "13965:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13965:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "13976:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "13976:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "13969:3:84",
                      "nodeType": "YulTypedName",
                      "src": "13969:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13991:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13991:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14011:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14011:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "14005:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "14005:5:84"
                    },
                    "nativeSrc": "14005:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14005:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "13995:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13995:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "14034:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14034:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "14042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14042:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14027:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14027:6:84"
                    },
                    "nativeSrc": "14027:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14027:22:84"
                  },
                  "nativeSrc": "14027:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14027:22:84"
                },
                {
                  "nativeSrc": "14058:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14058:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14068:2:84",
                    "nodeType": "YulLiteral",
                    "src": "14068:2:84",
                    "type": "",
                    "value": "64"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "14062:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14062:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14079:25:84",
                  "nodeType": "YulAssignment",
                  "src": "14079:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14090:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14090:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14101:2:84",
                        "nodeType": "YulLiteral",
                        "src": "14101:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14086:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14086:3:84"
                    },
                    "nativeSrc": "14086:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14086:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "14079:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14079:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14113:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14113:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14135:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14135:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "14150:1:84",
                                "nodeType": "YulLiteral",
                                "src": "14150:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "14153:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "14153:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "14146:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14146:3:84"
                            },
                            "nativeSrc": "14146:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "14146:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14131:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14131:3:84"
                        },
                        "nativeSrc": "14131:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14131:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14163:2:84",
                        "nodeType": "YulLiteral",
                        "src": "14163:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14127:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14127:3:84"
                    },
                    "nativeSrc": "14127:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14127:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "14117:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14117:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14175:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14175:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14193:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14193:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14201:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14201:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14189:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14189:3:84"
                    },
                    "nativeSrc": "14189:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14189:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "14179:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14179:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14213:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14213:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14222:1:84",
                    "nodeType": "YulLiteral",
                    "src": "14222:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "14217:1:84",
                      "nodeType": "YulTypedName",
                      "src": "14217:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14281:1342:84",
                    "nodeType": "YulBlock",
                    "src": "14281:1342:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "14302:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14302:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "14315:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "14315:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "14323:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "14323:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "14311:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "14311:3:84"
                                  },
                                  "nativeSrc": "14311:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "14311:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "14339:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "14339:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "14335:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "14335:3:84"
                                  },
                                  "nativeSrc": "14335:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "14335:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14307:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14307:3:84"
                              },
                              "nativeSrc": "14307:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14307:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14295:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14295:6:84"
                          },
                          "nativeSrc": "14295:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14295:49:84"
                        },
                        "nativeSrc": "14295:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14295:49:84"
                      },
                      {
                        "nativeSrc": "14357:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14357:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "14373:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "14373:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14367:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14367:5:84"
                          },
                          "nativeSrc": "14367:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14367:13:84"
                        },
                        "variables": [
                          {
                            "name": "_3",
                            "nativeSrc": "14361:2:84",
                            "nodeType": "YulTypedName",
                            "src": "14361:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14393:14:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14393:14:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "14403:4:84",
                          "nodeType": "YulLiteral",
                          "src": "14403:4:84",
                          "type": "",
                          "value": "0xe0"
                        },
                        "variables": [
                          {
                            "name": "_4",
                            "nativeSrc": "14397:2:84",
                            "nodeType": "YulTypedName",
                            "src": "14397:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "tail_2",
                              "nativeSrc": "14427:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "14427:6:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_3",
                                      "nativeSrc": "14445:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "14445:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "14439:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "14439:5:84"
                                  },
                                  "nativeSrc": "14439:9:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "14439:9:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14450:4:84",
                                  "nodeType": "YulLiteral",
                                  "src": "14450:4:84",
                                  "type": "",
                                  "value": "0xff"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "14435:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14435:3:84"
                              },
                              "nativeSrc": "14435:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14435:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14420:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14420:6:84"
                          },
                          "nativeSrc": "14420:36:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14420:36:84"
                        },
                        "nativeSrc": "14420:36:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14420:36:84"
                      },
                      {
                        "nativeSrc": "14469:38:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14469:38:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "14499:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14499:2:84"
                                },
                                {
                                  "name": "_1",
                                  "nativeSrc": "14503:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14503:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14495:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14495:3:84"
                              },
                              "nativeSrc": "14495:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14495:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14489:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14489:5:84"
                          },
                          "nativeSrc": "14489:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14489:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "14473:12:84",
                            "nodeType": "YulTypedName",
                            "src": "14473:12:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0",
                              "nativeSrc": "14560:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "14560:12:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14578:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14578:6:84"
                                },
                                {
                                  "name": "_1",
                                  "nativeSrc": "14586:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14586:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14574:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14574:3:84"
                              },
                              "nativeSrc": "14574:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14574:15:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonDataRequestMethods",
                            "nativeSrc": "14520:39:84",
                            "nodeType": "YulIdentifier",
                            "src": "14520:39:84"
                          },
                          "nativeSrc": "14520:70:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14520:70:84"
                        },
                        "nativeSrc": "14520:70:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14520:70:84"
                      },
                      {
                        "nativeSrc": "14603:40:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14603:40:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "14635:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14635:2:84"
                                },
                                {
                                  "name": "_2",
                                  "nativeSrc": "14639:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14639:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14631:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14631:3:84"
                              },
                              "nativeSrc": "14631:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14631:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14625:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14625:5:84"
                          },
                          "nativeSrc": "14625:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14625:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "14607:14:84",
                            "nodeType": "YulTypedName",
                            "src": "14607:14:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0_1",
                              "nativeSrc": "14687:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "14687:14:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14707:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14707:6:84"
                                },
                                {
                                  "name": "_2",
                                  "nativeSrc": "14715:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14715:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14703:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14703:3:84"
                              },
                              "nativeSrc": "14703:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14703:15:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonDataTypes",
                            "nativeSrc": "14656:30:84",
                            "nodeType": "YulIdentifier",
                            "src": "14656:30:84"
                          },
                          "nativeSrc": "14656:63:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14656:63:84"
                        },
                        "nativeSrc": "14656:63:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14656:63:84"
                      },
                      {
                        "nativeSrc": "14732:14:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14732:14:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "14742:4:84",
                          "nodeType": "YulLiteral",
                          "src": "14742:4:84",
                          "type": "",
                          "value": "0x60"
                        },
                        "variables": [
                          {
                            "name": "_5",
                            "nativeSrc": "14736:2:84",
                            "nodeType": "YulTypedName",
                            "src": "14736:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14759:40:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14759:40:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "14791:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14791:2:84"
                                },
                                {
                                  "name": "_5",
                                  "nativeSrc": "14795:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14795:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14787:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14787:3:84"
                              },
                              "nativeSrc": "14787:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14787:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14781:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14781:5:84"
                          },
                          "nativeSrc": "14781:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14781:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "14763:14:84",
                            "nodeType": "YulTypedName",
                            "src": "14763:14:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14823:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14823:6:84"
                                },
                                {
                                  "name": "_5",
                                  "nativeSrc": "14831:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14831:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14819:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14819:3:84"
                              },
                              "nativeSrc": "14819:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14819:15:84"
                            },
                            {
                              "name": "_4",
                              "nativeSrc": "14836:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "14836:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14812:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14812:6:84"
                          },
                          "nativeSrc": "14812:27:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14812:27:84"
                        },
                        "nativeSrc": "14812:27:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14812:27:84"
                      },
                      {
                        "nativeSrc": "14852:64:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14852:64:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_2",
                              "nativeSrc": "14884:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "14884:14:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14904:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14904:6:84"
                                },
                                {
                                  "name": "_4",
                                  "nativeSrc": "14912:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14912:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14900:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14900:3:84"
                              },
                              "nativeSrc": "14900:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14900:15:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string",
                            "nativeSrc": "14866:17:84",
                            "nodeType": "YulIdentifier",
                            "src": "14866:17:84"
                          },
                          "nativeSrc": "14866:50:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14866:50:84"
                        },
                        "variables": [
                          {
                            "name": "tail_3",
                            "nativeSrc": "14856:6:84",
                            "nodeType": "YulTypedName",
                            "src": "14856:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14929:14:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14929:14:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "14939:4:84",
                          "nodeType": "YulLiteral",
                          "src": "14939:4:84",
                          "type": "",
                          "value": "0x80"
                        },
                        "variables": [
                          {
                            "name": "_6",
                            "nativeSrc": "14933:2:84",
                            "nodeType": "YulTypedName",
                            "src": "14933:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14956:40:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14956:40:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "14988:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14988:2:84"
                                },
                                {
                                  "name": "_6",
                                  "nativeSrc": "14992:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14992:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14984:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "14984:3:84"
                              },
                              "nativeSrc": "14984:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "14984:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14978:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14978:5:84"
                          },
                          "nativeSrc": "14978:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14978:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_3",
                            "nativeSrc": "14960:14:84",
                            "nodeType": "YulTypedName",
                            "src": "14960:14:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15020:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15020:6:84"
                                },
                                {
                                  "name": "_6",
                                  "nativeSrc": "15028:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15028:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "15016:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15016:3:84"
                              },
                              "nativeSrc": "15016:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15016:15:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_3",
                                  "nativeSrc": "15037:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15037:6:84"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15045:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15045:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "15033:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15033:3:84"
                              },
                              "nativeSrc": "15033:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15033:19:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "15009:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15009:6:84"
                          },
                          "nativeSrc": "15009:44:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15009:44:84"
                        },
                        "nativeSrc": "15009:44:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15009:44:84"
                      },
                      {
                        "nativeSrc": "15066:55:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15066:55:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_3",
                              "nativeSrc": "15098:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "15098:14:84"
                            },
                            {
                              "name": "tail_3",
                              "nativeSrc": "15114:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "15114:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string",
                            "nativeSrc": "15080:17:84",
                            "nodeType": "YulIdentifier",
                            "src": "15080:17:84"
                          },
                          "nativeSrc": "15080:41:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15080:41:84"
                        },
                        "variables": [
                          {
                            "name": "tail_4",
                            "nativeSrc": "15070:6:84",
                            "nodeType": "YulTypedName",
                            "src": "15070:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15134:14:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15134:14:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "15144:4:84",
                          "nodeType": "YulLiteral",
                          "src": "15144:4:84",
                          "type": "",
                          "value": "0xa0"
                        },
                        "variables": [
                          {
                            "name": "_7",
                            "nativeSrc": "15138:2:84",
                            "nodeType": "YulTypedName",
                            "src": "15138:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15161:40:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15161:40:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "15193:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15193:2:84"
                                },
                                {
                                  "name": "_7",
                                  "nativeSrc": "15197:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15197:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "15189:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15189:3:84"
                              },
                              "nativeSrc": "15189:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15189:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "15183:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "15183:5:84"
                          },
                          "nativeSrc": "15183:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15183:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_4",
                            "nativeSrc": "15165:14:84",
                            "nodeType": "YulTypedName",
                            "src": "15165:14:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15225:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15225:6:84"
                                },
                                {
                                  "name": "_7",
                                  "nativeSrc": "15233:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15233:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "15221:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15221:3:84"
                              },
                              "nativeSrc": "15221:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15221:15:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_4",
                                  "nativeSrc": "15242:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15242:6:84"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15250:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15250:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "15238:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15238:3:84"
                              },
                              "nativeSrc": "15238:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15238:19:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "15214:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15214:6:84"
                          },
                          "nativeSrc": "15214:44:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15214:44:84"
                        },
                        "nativeSrc": "15214:44:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15214:44:84"
                      },
                      {
                        "nativeSrc": "15271:71:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15271:71:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_4",
                              "nativeSrc": "15319:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "15319:14:84"
                            },
                            {
                              "name": "tail_4",
                              "nativeSrc": "15335:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "15335:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_array_array_string_dyn",
                            "nativeSrc": "15285:33:84",
                            "nodeType": "YulIdentifier",
                            "src": "15285:33:84"
                          },
                          "nativeSrc": "15285:57:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15285:57:84"
                        },
                        "variables": [
                          {
                            "name": "tail_5",
                            "nativeSrc": "15275:6:84",
                            "nodeType": "YulTypedName",
                            "src": "15275:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15355:14:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15355:14:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "15365:4:84",
                          "nodeType": "YulLiteral",
                          "src": "15365:4:84",
                          "type": "",
                          "value": "0xc0"
                        },
                        "variables": [
                          {
                            "name": "_8",
                            "nativeSrc": "15359:2:84",
                            "nodeType": "YulTypedName",
                            "src": "15359:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15382:40:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "15382:40:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "15414:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15414:2:84"
                                },
                                {
                                  "name": "_8",
                                  "nativeSrc": "15418:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15418:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "15410:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15410:3:84"
                              },
                              "nativeSrc": "15410:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15410:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "15404:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "15404:5:84"
                          },
                          "nativeSrc": "15404:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15404:18:84"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_5",
                            "nativeSrc": "15386:14:84",
                            "nodeType": "YulTypedName",
                            "src": "15386:14:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15446:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15446:6:84"
                                },
                                {
                                  "name": "_8",
                                  "nativeSrc": "15454:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15454:2:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "15442:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15442:3:84"
                              },
                              "nativeSrc": "15442:15:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15442:15:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_5",
                                  "nativeSrc": "15463:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15463:6:84"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "15471:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15471:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "15459:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "15459:3:84"
                              },
                              "nativeSrc": "15459:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15459:19:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "15435:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15435:6:84"
                          },
                          "nativeSrc": "15435:44:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15435:44:84"
                        },
                        "nativeSrc": "15435:44:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15435:44:84"
                      },
                      {
                        "nativeSrc": "15492:51:84",
                        "nodeType": "YulAssignment",
                        "src": "15492:51:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_5",
                              "nativeSrc": "15520:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "15520:14:84"
                            },
                            {
                              "name": "tail_5",
                              "nativeSrc": "15536:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "15536:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string",
                            "nativeSrc": "15502:17:84",
                            "nodeType": "YulIdentifier",
                            "src": "15502:17:84"
                          },
                          "nativeSrc": "15502:41:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15502:41:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "15492:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15492:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15556:25:84",
                        "nodeType": "YulAssignment",
                        "src": "15556:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "15570:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "15570:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "15578:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "15578:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "15566:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "15566:3:84"
                          },
                          "nativeSrc": "15566:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15566:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "15556:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15556:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "15594:19:84",
                        "nodeType": "YulAssignment",
                        "src": "15594:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "15605:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "15605:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "15610:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "15610:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "15601:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "15601:3:84"
                          },
                          "nativeSrc": "15601:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15601:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "15594:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "15594:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "14243:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "14243:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "14246:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14246:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "14240:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14240:2:84"
                    },
                    "nativeSrc": "14240:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14240:13:84"
                  },
                  "nativeSrc": "14232:1391:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "14254:18:84",
                    "nodeType": "YulBlock",
                    "src": "14254:18:84",
                    "statements": [
                      {
                        "nativeSrc": "14256:14:84",
                        "nodeType": "YulAssignment",
                        "src": "14256:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "14265:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "14265:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14268:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14268:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14261:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "14261:3:84"
                          },
                          "nativeSrc": "14261:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14261:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "14256:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14256:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "14236:3:84",
                    "nodeType": "YulBlock",
                    "src": "14236:3:84",
                    "statements": []
                  },
                  "src": "14232:1391:84"
                },
                {
                  "nativeSrc": "15632:14:84",
                  "nodeType": "YulAssignment",
                  "src": "15632:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "15640:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "15640:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15632:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15632:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "13646:2006:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13832:9:84",
                "nodeType": "YulTypedName",
                "src": "13832:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13843:6:84",
                "nodeType": "YulTypedName",
                "src": "13843:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13854:4:84",
                "nodeType": "YulTypedName",
                "src": "13854:4:84",
                "type": ""
              }
            ],
            "src": "13646:2006:84"
          },
          {
            "body": {
              "nativeSrc": "15764:372:84",
              "nodeType": "YulBlock",
              "src": "15764:372:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15810:16:84",
                    "nodeType": "YulBlock",
                    "src": "15810:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15819:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15819:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15822:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15822:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15812:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15812:6:84"
                          },
                          "nativeSrc": "15812:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15812:12:84"
                        },
                        "nativeSrc": "15812:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15812:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15785:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15785:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15794:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15794:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15781:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15781:3:84"
                        },
                        "nativeSrc": "15781:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15781:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15806:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15806:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15777:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15777:3:84"
                    },
                    "nativeSrc": "15777:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15777:32:84"
                  },
                  "nativeSrc": "15774:52:84",
                  "nodeType": "YulIf",
                  "src": "15774:52:84"
                },
                {
                  "nativeSrc": "15835:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15835:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15862:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15862:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15849:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15849:12:84"
                    },
                    "nativeSrc": "15849:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15849:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15839:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15839:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15915:16:84",
                    "nodeType": "YulBlock",
                    "src": "15915:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15924:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15924:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15927:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15927:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15917:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15917:6:84"
                          },
                          "nativeSrc": "15917:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15917:12:84"
                        },
                        "nativeSrc": "15917:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15917:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15887:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15887:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15895:18:84",
                        "nodeType": "YulLiteral",
                        "src": "15895:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15884:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "15884:2:84"
                    },
                    "nativeSrc": "15884:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15884:30:84"
                  },
                  "nativeSrc": "15881:50:84",
                  "nodeType": "YulIf",
                  "src": "15881:50:84"
                },
                {
                  "nativeSrc": "15940:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15940:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15997:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15997:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16008:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16008:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15993:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15993:3:84"
                        },
                        "nativeSrc": "15993:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15993:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16017:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16017:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "15966:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "15966:26:84"
                    },
                    "nativeSrc": "15966:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15966:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15944:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15944:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15954:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15954:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16034:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16034:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "16044:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16044:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16034:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16034:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16061:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16061:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16071:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16071:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16061:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16061:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16088:42:84",
                  "nodeType": "YulAssignment",
                  "src": "16088:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16115:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16115:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16126:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16126:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16111:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16111:3:84"
                        },
                        "nativeSrc": "16111:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16111:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16098:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "16098:12:84"
                    },
                    "nativeSrc": "16098:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16098:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "16088:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16088:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bytes32",
            "nativeSrc": "15657:479:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15714:9:84",
                "nodeType": "YulTypedName",
                "src": "15714:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15725:7:84",
                "nodeType": "YulTypedName",
                "src": "15725:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15737:6:84",
                "nodeType": "YulTypedName",
                "src": "15737:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15745:6:84",
                "nodeType": "YulTypedName",
                "src": "15745:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15753:6:84",
                "nodeType": "YulTypedName",
                "src": "15753:6:84",
                "type": ""
              }
            ],
            "src": "15657:479:84"
          },
          {
            "body": {
              "nativeSrc": "16231:321:84",
              "nodeType": "YulBlock",
              "src": "16231:321:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16277:16:84",
                    "nodeType": "YulBlock",
                    "src": "16277:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16286:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16286:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16289:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16289:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16279:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16279:6:84"
                          },
                          "nativeSrc": "16279:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16279:12:84"
                        },
                        "nativeSrc": "16279:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16279:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16252:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "16252:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16261:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16261:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16248:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16248:3:84"
                        },
                        "nativeSrc": "16248:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16248:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16273:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16273:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16244:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "16244:3:84"
                    },
                    "nativeSrc": "16244:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16244:32:84"
                  },
                  "nativeSrc": "16241:52:84",
                  "nodeType": "YulIf",
                  "src": "16241:52:84"
                },
                {
                  "nativeSrc": "16302:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16302:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16329:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16329:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16316:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "16316:12:84"
                    },
                    "nativeSrc": "16316:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16316:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "16306:6:84",
                      "nodeType": "YulTypedName",
                      "src": "16306:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16382:16:84",
                    "nodeType": "YulBlock",
                    "src": "16382:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16391:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16391:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16394:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16394:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16384:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16384:6:84"
                          },
                          "nativeSrc": "16384:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16384:12:84"
                        },
                        "nativeSrc": "16384:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16384:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16354:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16354:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16362:18:84",
                        "nodeType": "YulLiteral",
                        "src": "16362:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16351:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16351:2:84"
                    },
                    "nativeSrc": "16351:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16351:30:84"
                  },
                  "nativeSrc": "16348:50:84",
                  "nodeType": "YulIf",
                  "src": "16348:50:84"
                },
                {
                  "nativeSrc": "16407:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16407:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16464:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16464:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16475:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16475:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16460:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16460:3:84"
                        },
                        "nativeSrc": "16460:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16460:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16484:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16484:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "16433:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "16433:26:84"
                    },
                    "nativeSrc": "16433:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16433:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "16411:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16411:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "16421:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16421:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16501:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16501:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "16511:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16511:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16501:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16501:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16528:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16528:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16538:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16538:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16528:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16528:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "16141:411:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16189:9:84",
                "nodeType": "YulTypedName",
                "src": "16189:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16200:7:84",
                "nodeType": "YulTypedName",
                "src": "16200:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16212:6:84",
                "nodeType": "YulTypedName",
                "src": "16212:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16220:6:84",
                "nodeType": "YulTypedName",
                "src": "16220:6:84",
                "type": ""
              }
            ],
            "src": "16141:411:84"
          },
          {
            "body": {
              "nativeSrc": "16609:133:84",
              "nodeType": "YulBlock",
              "src": "16609:133:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16626:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16626:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "16641:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "16641:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "16635:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "16635:5:84"
                            },
                            "nativeSrc": "16635:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "16635:12:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16649:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16649:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "16631:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16631:3:84"
                        },
                        "nativeSrc": "16631:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16631:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16619:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16619:6:84"
                    },
                    "nativeSrc": "16619:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16619:36:84"
                  },
                  "nativeSrc": "16619:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16619:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "16675:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "16675:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16680:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16680:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16671:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16671:3:84"
                        },
                        "nativeSrc": "16671:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16671:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "16701:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "16701:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16708:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "16708:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "16697:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "16697:3:84"
                                },
                                "nativeSrc": "16697:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "16697:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "16691:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "16691:5:84"
                            },
                            "nativeSrc": "16691:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "16691:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16716:18:84",
                            "nodeType": "YulLiteral",
                            "src": "16716:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "16687:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16687:3:84"
                        },
                        "nativeSrc": "16687:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16687:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16664:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16664:6:84"
                    },
                    "nativeSrc": "16664:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16664:72:84"
                  },
                  "nativeSrc": "16664:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16664:72:84"
                }
              ]
            },
            "name": "abi_encode_struct_RadonSLA",
            "nativeSrc": "16557:185:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "16593:5:84",
                "nodeType": "YulTypedName",
                "src": "16593:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "16600:3:84",
                "nodeType": "YulTypedName",
                "src": "16600:3:84",
                "type": ""
              }
            ],
            "src": "16557:185:84"
          },
          {
            "body": {
              "nativeSrc": "16900:651:84",
              "nodeType": "YulBlock",
              "src": "16900:651:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16917:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16917:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16928:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16928:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16910:6:84"
                    },
                    "nativeSrc": "16910:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16910:21:84"
                  },
                  "nativeSrc": "16910:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16910:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16951:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16951:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16962:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16962:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16947:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16947:3:84"
                        },
                        "nativeSrc": "16947:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16947:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "16977:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "16977:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "16971:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "16971:5:84"
                            },
                            "nativeSrc": "16971:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "16971:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16994:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "16994:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16999:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "16999:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "16990:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "16990:3:84"
                                },
                                "nativeSrc": "16990:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "16990:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17003:1:84",
                                "nodeType": "YulLiteral",
                                "src": "17003:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "16986:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16986:3:84"
                            },
                            "nativeSrc": "16986:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "16986:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "16967:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16967:3:84"
                        },
                        "nativeSrc": "16967:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16967:39:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16940:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16940:6:84"
                    },
                    "nativeSrc": "16940:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16940:67:84"
                  },
                  "nativeSrc": "16940:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16940:67:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17027:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17027:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17038:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17038:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17023:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17023:3:84"
                        },
                        "nativeSrc": "17023:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17023:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "17057:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "17057:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "17065:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "17065:2:84",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "17053:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "17053:3:84"
                                },
                                "nativeSrc": "17053:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "17053:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "17047:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "17047:5:84"
                            },
                            "nativeSrc": "17047:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17047:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17071:8:84",
                            "nodeType": "YulLiteral",
                            "src": "17071:8:84",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "17043:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17043:3:84"
                        },
                        "nativeSrc": "17043:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17043:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17016:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17016:6:84"
                    },
                    "nativeSrc": "17016:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17016:65:84"
                  },
                  "nativeSrc": "17016:65:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17016:65:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17101:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17101:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17112:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17112:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17097:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17097:3:84"
                        },
                        "nativeSrc": "17097:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17097:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "17131:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "17131:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "17139:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "17139:2:84",
                                    "type": "",
                                    "value": "64"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "17127:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "17127:3:84"
                                },
                                "nativeSrc": "17127:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "17127:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "17121:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "17121:5:84"
                            },
                            "nativeSrc": "17121:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17121:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17145:20:84",
                            "nodeType": "YulLiteral",
                            "src": "17145:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "17117:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17117:3:84"
                        },
                        "nativeSrc": "17117:49:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17117:49:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17090:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17090:6:84"
                    },
                    "nativeSrc": "17090:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17090:77:84"
                  },
                  "nativeSrc": "17090:77:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17090:77:84"
                },
                {
                  "nativeSrc": "17176:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17176:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17206:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17206:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17214:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17214:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17202:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17202:3:84"
                        },
                        "nativeSrc": "17202:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17202:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17196:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17196:5:84"
                    },
                    "nativeSrc": "17196:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17196:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "17180:12:84",
                      "nodeType": "YulTypedName",
                      "src": "17180:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17249:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17249:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17234:3:84"
                        },
                        "nativeSrc": "17234:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17234:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17255:4:84",
                        "nodeType": "YulLiteral",
                        "src": "17255:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17227:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17227:6:84"
                    },
                    "nativeSrc": "17227:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17227:33:84"
                  },
                  "nativeSrc": "17227:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17227:33:84"
                },
                {
                  "nativeSrc": "17269:66:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17269:66:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "17301:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "17301:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17319:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17319:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17330:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17330:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17315:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17315:3:84"
                        },
                        "nativeSrc": "17315:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17315:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "17283:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17283:17:84"
                    },
                    "nativeSrc": "17283:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17283:52:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "17273:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17273:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17355:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17355:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17366:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17366:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17351:3:84"
                        },
                        "nativeSrc": "17351:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17351:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "17382:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "17382:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17390:3:84",
                                "nodeType": "YulLiteral",
                                "src": "17390:3:84",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17378:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17378:3:84"
                            },
                            "nativeSrc": "17378:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17378:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "17372:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "17372:5:84"
                        },
                        "nativeSrc": "17372:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17372:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17344:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17344:6:84"
                    },
                    "nativeSrc": "17344:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17344:52:84"
                  },
                  "nativeSrc": "17344:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17344:52:84"
                },
                {
                  "nativeSrc": "17405:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17405:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17437:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17437:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17445:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17445:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17433:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17433:3:84"
                        },
                        "nativeSrc": "17433:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17433:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17427:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17427:5:84"
                    },
                    "nativeSrc": "17427:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17427:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "17409:14:84",
                      "nodeType": "YulTypedName",
                      "src": "17409:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "17486:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "17486:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17506:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17506:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17517:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17517:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17502:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17502:3:84"
                        },
                        "nativeSrc": "17502:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17502:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA",
                      "nativeSrc": "17459:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "17459:26:84"
                    },
                    "nativeSrc": "17459:63:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17459:63:84"
                  },
                  "nativeSrc": "17459:63:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17459:63:84"
                },
                {
                  "nativeSrc": "17531:14:84",
                  "nodeType": "YulAssignment",
                  "src": "17531:14:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "17539:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "17539:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17531:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17531:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed",
            "nativeSrc": "16747:804:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16869:9:84",
                "nodeType": "YulTypedName",
                "src": "16869:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16880:6:84",
                "nodeType": "YulTypedName",
                "src": "16880:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16891:4:84",
                "nodeType": "YulTypedName",
                "src": "16891:4:84",
                "type": ""
              }
            ],
            "src": "16747:804:84"
          },
          {
            "body": {
              "nativeSrc": "17655:103:84",
              "nodeType": "YulBlock",
              "src": "17655:103:84",
              "statements": [
                {
                  "nativeSrc": "17665:26:84",
                  "nodeType": "YulAssignment",
                  "src": "17665:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17677:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17677:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17688:2:84",
                        "nodeType": "YulLiteral",
                        "src": "17688:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17673:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17673:3:84"
                    },
                    "nativeSrc": "17673:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17673:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17665:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17665:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17707:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17707:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17722:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17722:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17734:3:84",
                                "nodeType": "YulLiteral",
                                "src": "17734:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17739:10:84",
                                "nodeType": "YulLiteral",
                                "src": "17739:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "17730:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17730:3:84"
                            },
                            "nativeSrc": "17730:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17730:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "17718:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17718:3:84"
                        },
                        "nativeSrc": "17718:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17718:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17700:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17700:6:84"
                    },
                    "nativeSrc": "17700:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17700:52:84"
                  },
                  "nativeSrc": "17700:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17700:52:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "17556:202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17624:9:84",
                "nodeType": "YulTypedName",
                "src": "17624:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "17635:6:84",
                "nodeType": "YulTypedName",
                "src": "17635:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "17646:4:84",
                "nodeType": "YulTypedName",
                "src": "17646:4:84",
                "type": ""
              }
            ],
            "src": "17556:202:84"
          },
          {
            "body": {
              "nativeSrc": "17888:594:84",
              "nodeType": "YulBlock",
              "src": "17888:594:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17934:16:84",
                    "nodeType": "YulBlock",
                    "src": "17934:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17943:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17943:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17946:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17946:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17936:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17936:6:84"
                          },
                          "nativeSrc": "17936:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17936:12:84"
                        },
                        "nativeSrc": "17936:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17936:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17909:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17909:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17918:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17918:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17905:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17905:3:84"
                        },
                        "nativeSrc": "17905:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17905:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17930:2:84",
                        "nodeType": "YulLiteral",
                        "src": "17930:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17901:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17901:3:84"
                    },
                    "nativeSrc": "17901:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17901:32:84"
                  },
                  "nativeSrc": "17898:52:84",
                  "nodeType": "YulIf",
                  "src": "17898:52:84"
                },
                {
                  "nativeSrc": "17959:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17959:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17986:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17986:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17973:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17973:12:84"
                    },
                    "nativeSrc": "17973:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17973:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17963:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17963:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18005:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18005:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "18015:18:84",
                    "nodeType": "YulLiteral",
                    "src": "18015:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "18009:2:84",
                      "nodeType": "YulTypedName",
                      "src": "18009:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18060:16:84",
                    "nodeType": "YulBlock",
                    "src": "18060:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18069:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18069:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18072:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18072:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18062:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18062:6:84"
                          },
                          "nativeSrc": "18062:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18062:12:84"
                        },
                        "nativeSrc": "18062:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18062:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "18048:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "18048:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "18056:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "18056:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "18045:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "18045:2:84"
                    },
                    "nativeSrc": "18045:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18045:14:84"
                  },
                  "nativeSrc": "18042:34:84",
                  "nodeType": "YulIf",
                  "src": "18042:34:84"
                },
                {
                  "nativeSrc": "18085:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18085:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18142:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18142:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "18153:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18153:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18138:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18138:3:84"
                        },
                        "nativeSrc": "18138:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18138:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18162:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18162:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "18111:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "18111:26:84"
                    },
                    "nativeSrc": "18111:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18111:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "18089:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18089:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "18099:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18099:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18179:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18179:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "18189:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18189:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18179:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18179:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18206:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18206:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "18216:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18216:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18206:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18206:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18233:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18233:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18266:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18266:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18277:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18277:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18262:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18262:3:84"
                        },
                        "nativeSrc": "18262:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18262:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18249:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18249:12:84"
                    },
                    "nativeSrc": "18249:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18249:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "18237:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18237:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18310:16:84",
                    "nodeType": "YulBlock",
                    "src": "18310:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18319:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18319:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18322:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18322:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18312:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18312:6:84"
                          },
                          "nativeSrc": "18312:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18312:12:84"
                        },
                        "nativeSrc": "18312:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18312:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "18296:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "18296:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "18306:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "18306:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "18293:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "18293:2:84"
                    },
                    "nativeSrc": "18293:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18293:16:84"
                  },
                  "nativeSrc": "18290:36:84",
                  "nodeType": "YulIf",
                  "src": "18290:36:84"
                },
                {
                  "nativeSrc": "18335:87:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18335:87:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18392:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18392:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "18403:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "18403:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18388:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18388:3:84"
                        },
                        "nativeSrc": "18388:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18388:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18414:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18414:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "18361:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "18361:26:84"
                    },
                    "nativeSrc": "18361:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18361:61:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "18339:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18339:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "18349:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18349:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18431:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18431:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "18441:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18441:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18431:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18431:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18458:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18458:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "18468:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18468:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "18458:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18458:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr",
            "nativeSrc": "17763:719:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17830:9:84",
                "nodeType": "YulTypedName",
                "src": "17830:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17841:7:84",
                "nodeType": "YulTypedName",
                "src": "17841:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17853:6:84",
                "nodeType": "YulTypedName",
                "src": "17853:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17861:6:84",
                "nodeType": "YulTypedName",
                "src": "17861:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17869:6:84",
                "nodeType": "YulTypedName",
                "src": "17869:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17877:6:84",
                "nodeType": "YulTypedName",
                "src": "17877:6:84",
                "type": ""
              }
            ],
            "src": "17763:719:84"
          },
          {
            "body": {
              "nativeSrc": "18558:85:84",
              "nodeType": "YulBlock",
              "src": "18558:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18597:16:84",
                    "nodeType": "YulBlock",
                    "src": "18597:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18606:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18606:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18609:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18609:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18599:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18599:6:84"
                          },
                          "nativeSrc": "18599:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18599:12:84"
                        },
                        "nativeSrc": "18599:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18599:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "18579:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "18579:3:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "18584:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18584:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18575:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18575:3:84"
                        },
                        "nativeSrc": "18575:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18575:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18593:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18593:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18571:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18571:3:84"
                    },
                    "nativeSrc": "18571:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18571:25:84"
                  },
                  "nativeSrc": "18568:45:84",
                  "nodeType": "YulIf",
                  "src": "18568:45:84"
                },
                {
                  "nativeSrc": "18622:15:84",
                  "nodeType": "YulAssignment",
                  "src": "18622:15:84",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "18631:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "18631:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "18622:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "18622:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_calldata",
            "nativeSrc": "18487:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "18532:6:84",
                "nodeType": "YulTypedName",
                "src": "18532:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "18540:3:84",
                "nodeType": "YulTypedName",
                "src": "18540:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "18548:5:84",
                "nodeType": "YulTypedName",
                "src": "18548:5:84",
                "type": ""
              }
            ],
            "src": "18487:156:84"
          },
          {
            "body": {
              "nativeSrc": "18763:259:84",
              "nodeType": "YulBlock",
              "src": "18763:259:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18809:16:84",
                    "nodeType": "YulBlock",
                    "src": "18809:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18818:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18818:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18821:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18821:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18811:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18811:6:84"
                          },
                          "nativeSrc": "18811:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18811:12:84"
                        },
                        "nativeSrc": "18811:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18811:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18784:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18784:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18793:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18793:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18780:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18780:3:84"
                        },
                        "nativeSrc": "18780:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18780:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18805:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18805:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18776:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18776:3:84"
                    },
                    "nativeSrc": "18776:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18776:32:84"
                  },
                  "nativeSrc": "18773:52:84",
                  "nodeType": "YulIf",
                  "src": "18773:52:84"
                },
                {
                  "nativeSrc": "18834:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18834:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18860:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18860:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18847:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18847:12:84"
                    },
                    "nativeSrc": "18847:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18847:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18838:5:84",
                      "nodeType": "YulTypedName",
                      "src": "18838:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18903:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "18903:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "18879:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "18879:23:84"
                    },
                    "nativeSrc": "18879:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18879:30:84"
                  },
                  "nativeSrc": "18879:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18879:30:84"
                },
                {
                  "nativeSrc": "18918:15:84",
                  "nodeType": "YulAssignment",
                  "src": "18918:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18928:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "18928:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18918:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18942:74:84",
                  "nodeType": "YulAssignment",
                  "src": "18942:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18992:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18992:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19003:2:84",
                            "nodeType": "YulLiteral",
                            "src": "19003:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18988:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18988:3:84"
                        },
                        "nativeSrc": "18988:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18988:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "19008:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "19008:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "18952:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "18952:35:84"
                    },
                    "nativeSrc": "18952:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18952:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18942:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18942:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "18648:374:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18721:9:84",
                "nodeType": "YulTypedName",
                "src": "18721:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18732:7:84",
                "nodeType": "YulTypedName",
                "src": "18732:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18744:6:84",
                "nodeType": "YulTypedName",
                "src": "18744:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18752:6:84",
                "nodeType": "YulTypedName",
                "src": "18752:6:84",
                "type": ""
              }
            ],
            "src": "18648:374:84"
          },
          {
            "body": {
              "nativeSrc": "19155:439:84",
              "nodeType": "YulBlock",
              "src": "19155:439:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19201:16:84",
                    "nodeType": "YulBlock",
                    "src": "19201:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19210:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19210:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19213:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19213:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19203:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19203:6:84"
                          },
                          "nativeSrc": "19203:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19203:12:84"
                        },
                        "nativeSrc": "19203:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19203:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19176:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "19176:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19185:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19185:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19172:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19172:3:84"
                        },
                        "nativeSrc": "19172:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19172:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19197:2:84",
                        "nodeType": "YulLiteral",
                        "src": "19197:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19168:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19168:3:84"
                    },
                    "nativeSrc": "19168:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19168:32:84"
                  },
                  "nativeSrc": "19165:52:84",
                  "nodeType": "YulIf",
                  "src": "19165:52:84"
                },
                {
                  "nativeSrc": "19226:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19226:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19253:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "19253:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19240:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "19240:12:84"
                    },
                    "nativeSrc": "19240:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19240:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "19230:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19230:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19306:16:84",
                    "nodeType": "YulBlock",
                    "src": "19306:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19315:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19315:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19318:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19318:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19308:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19308:6:84"
                          },
                          "nativeSrc": "19308:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19308:12:84"
                        },
                        "nativeSrc": "19308:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19308:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19278:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19278:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19286:18:84",
                        "nodeType": "YulLiteral",
                        "src": "19286:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19275:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "19275:2:84"
                    },
                    "nativeSrc": "19275:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19275:30:84"
                  },
                  "nativeSrc": "19272:50:84",
                  "nodeType": "YulIf",
                  "src": "19272:50:84"
                },
                {
                  "nativeSrc": "19331:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19331:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19388:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19388:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "19399:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19399:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19384:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19384:3:84"
                        },
                        "nativeSrc": "19384:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19384:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "19408:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "19408:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "19357:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "19357:26:84"
                    },
                    "nativeSrc": "19357:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19357:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "19335:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19335:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "19345:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19345:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19425:18:84",
                  "nodeType": "YulAssignment",
                  "src": "19425:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "19435:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "19435:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "19425:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19425:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "19452:18:84",
                  "nodeType": "YulAssignment",
                  "src": "19452:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "19462:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "19462:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "19452:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19452:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "19479:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19479:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19509:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19509:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19520:2:84",
                            "nodeType": "YulLiteral",
                            "src": "19520:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19505:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19505:3:84"
                        },
                        "nativeSrc": "19505:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19505:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19492:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "19492:12:84"
                    },
                    "nativeSrc": "19492:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19492:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "19483:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19483:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "19558:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19558:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "19533:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "19533:24:84"
                    },
                    "nativeSrc": "19533:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19533:31:84"
                  },
                  "nativeSrc": "19533:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19533:31:84"
                },
                {
                  "nativeSrc": "19573:15:84",
                  "nodeType": "YulAssignment",
                  "src": "19573:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "19583:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "19583:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "19573:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19573:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_WitnetRequest_$826",
            "nativeSrc": "19027:567:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19105:9:84",
                "nodeType": "YulTypedName",
                "src": "19105:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19116:7:84",
                "nodeType": "YulTypedName",
                "src": "19116:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19128:6:84",
                "nodeType": "YulTypedName",
                "src": "19128:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19136:6:84",
                "nodeType": "YulTypedName",
                "src": "19136:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "19144:6:84",
                "nodeType": "YulTypedName",
                "src": "19144:6:84",
                "type": ""
              }
            ],
            "src": "19027:567:84"
          },
          {
            "body": {
              "nativeSrc": "19679:370:84",
              "nodeType": "YulBlock",
              "src": "19679:370:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19725:16:84",
                    "nodeType": "YulBlock",
                    "src": "19725:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19734:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19734:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19737:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19737:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19727:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19727:6:84"
                          },
                          "nativeSrc": "19727:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19727:12:84"
                        },
                        "nativeSrc": "19727:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19727:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19700:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "19700:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19709:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19709:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19696:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19696:3:84"
                        },
                        "nativeSrc": "19696:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19696:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19721:2:84",
                        "nodeType": "YulLiteral",
                        "src": "19721:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19692:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19692:3:84"
                    },
                    "nativeSrc": "19692:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19692:32:84"
                  },
                  "nativeSrc": "19689:52:84",
                  "nodeType": "YulIf",
                  "src": "19689:52:84"
                },
                {
                  "nativeSrc": "19750:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19750:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19777:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "19777:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19764:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "19764:12:84"
                    },
                    "nativeSrc": "19764:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19764:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "19754:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19754:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19830:16:84",
                    "nodeType": "YulBlock",
                    "src": "19830:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19839:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19839:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19842:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19842:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19832:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19832:6:84"
                          },
                          "nativeSrc": "19832:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19832:12:84"
                        },
                        "nativeSrc": "19832:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19832:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19802:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19802:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19810:18:84",
                        "nodeType": "YulLiteral",
                        "src": "19810:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19799:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "19799:2:84"
                    },
                    "nativeSrc": "19799:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19799:30:84"
                  },
                  "nativeSrc": "19796:50:84",
                  "nodeType": "YulIf",
                  "src": "19796:50:84"
                },
                {
                  "nativeSrc": "19855:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19855:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19869:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "19869:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "19880:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19880:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19865:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19865:3:84"
                    },
                    "nativeSrc": "19865:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19865:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "19859:2:84",
                      "nodeType": "YulTypedName",
                      "src": "19859:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19935:16:84",
                    "nodeType": "YulBlock",
                    "src": "19935:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19944:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19944:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19947:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19947:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19937:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19937:6:84"
                          },
                          "nativeSrc": "19937:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19937:12:84"
                        },
                        "nativeSrc": "19937:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19937:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "19914:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "19914:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19918:4:84",
                                "nodeType": "YulLiteral",
                                "src": "19918:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "19910:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "19910:3:84"
                            },
                            "nativeSrc": "19910:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "19910:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19925:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "19925:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "19906:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19906:3:84"
                        },
                        "nativeSrc": "19906:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19906:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19899:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19899:6:84"
                    },
                    "nativeSrc": "19899:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19899:35:84"
                  },
                  "nativeSrc": "19896:55:84",
                  "nodeType": "YulIf",
                  "src": "19896:55:84"
                },
                {
                  "nativeSrc": "19960:83:84",
                  "nodeType": "YulAssignment",
                  "src": "19960:83:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "20008:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "20008:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20012:2:84",
                            "nodeType": "YulLiteral",
                            "src": "20012:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20004:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20004:3:84"
                        },
                        "nativeSrc": "20004:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20004:11:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "20030:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "20030:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "20017:12:84",
                          "nodeType": "YulIdentifier",
                          "src": "20017:12:84"
                        },
                        "nativeSrc": "20017:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20017:16:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20035:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "20035:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "19970:33:84",
                      "nodeType": "YulIdentifier",
                      "src": "19970:33:84"
                    },
                    "nativeSrc": "19970:73:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19970:73:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "19960:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19960:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "19599:450:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19645:9:84",
                "nodeType": "YulTypedName",
                "src": "19645:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19656:7:84",
                "nodeType": "YulTypedName",
                "src": "19656:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19668:6:84",
                "nodeType": "YulTypedName",
                "src": "19668:6:84",
                "type": ""
              }
            ],
            "src": "19599:450:84"
          },
          {
            "body": {
              "nativeSrc": "20123:203:84",
              "nodeType": "YulBlock",
              "src": "20123:203:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20169:16:84",
                    "nodeType": "YulBlock",
                    "src": "20169:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20178:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20178:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20181:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20181:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20171:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20171:6:84"
                          },
                          "nativeSrc": "20171:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20171:12:84"
                        },
                        "nativeSrc": "20171:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20171:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20144:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "20144:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20153:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20153:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20140:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20140:3:84"
                        },
                        "nativeSrc": "20140:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20140:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20165:2:84",
                        "nodeType": "YulLiteral",
                        "src": "20165:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20136:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20136:3:84"
                    },
                    "nativeSrc": "20136:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20136:32:84"
                  },
                  "nativeSrc": "20133:52:84",
                  "nodeType": "YulIf",
                  "src": "20133:52:84"
                },
                {
                  "nativeSrc": "20194:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20194:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20220:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "20220:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20207:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20207:12:84"
                    },
                    "nativeSrc": "20207:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20207:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20198:5:84",
                      "nodeType": "YulTypedName",
                      "src": "20198:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20280:16:84",
                    "nodeType": "YulBlock",
                    "src": "20280:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20289:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20289:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20292:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20292:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20282:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20282:6:84"
                          },
                          "nativeSrc": "20282:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20282:12:84"
                        },
                        "nativeSrc": "20282:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20282:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20252:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "20252:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "20263:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "20263:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20270:6:84",
                                "nodeType": "YulLiteral",
                                "src": "20270:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "20259:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20259:3:84"
                            },
                            "nativeSrc": "20259:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20259:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "20249:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "20249:2:84"
                        },
                        "nativeSrc": "20249:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20249:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20242:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20242:6:84"
                    },
                    "nativeSrc": "20242:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20242:37:84"
                  },
                  "nativeSrc": "20239:57:84",
                  "nodeType": "YulIf",
                  "src": "20239:57:84"
                },
                {
                  "nativeSrc": "20305:15:84",
                  "nodeType": "YulAssignment",
                  "src": "20305:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "20315:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "20315:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20305:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20305:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "20054:272:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20089:9:84",
                "nodeType": "YulTypedName",
                "src": "20089:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20100:7:84",
                "nodeType": "YulTypedName",
                "src": "20100:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20112:6:84",
                "nodeType": "YulTypedName",
                "src": "20112:6:84",
                "type": ""
              }
            ],
            "src": "20054:272:84"
          },
          {
            "body": {
              "nativeSrc": "20401:110:84",
              "nodeType": "YulBlock",
              "src": "20401:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20447:16:84",
                    "nodeType": "YulBlock",
                    "src": "20447:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20456:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20456:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20459:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20459:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20449:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20449:6:84"
                          },
                          "nativeSrc": "20449:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20449:12:84"
                        },
                        "nativeSrc": "20449:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20449:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20422:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "20422:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20431:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20431:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20418:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20418:3:84"
                        },
                        "nativeSrc": "20418:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20418:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20443:2:84",
                        "nodeType": "YulLiteral",
                        "src": "20443:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20414:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20414:3:84"
                    },
                    "nativeSrc": "20414:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20414:32:84"
                  },
                  "nativeSrc": "20411:52:84",
                  "nodeType": "YulIf",
                  "src": "20411:52:84"
                },
                {
                  "nativeSrc": "20472:33:84",
                  "nodeType": "YulAssignment",
                  "src": "20472:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20495:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "20495:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20482:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20482:12:84"
                    },
                    "nativeSrc": "20482:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20482:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20472:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20472:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "20331:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20367:9:84",
                "nodeType": "YulTypedName",
                "src": "20367:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20378:7:84",
                "nodeType": "YulTypedName",
                "src": "20378:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20390:6:84",
                "nodeType": "YulTypedName",
                "src": "20390:6:84",
                "type": ""
              }
            ],
            "src": "20331:180:84"
          },
          {
            "body": {
              "nativeSrc": "20572:89:84",
              "nodeType": "YulBlock",
              "src": "20572:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20606:22:84",
                    "nodeType": "YulBlock",
                    "src": "20606:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "20608:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20608:16:84"
                          },
                          "nativeSrc": "20608:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20608:18:84"
                        },
                        "nativeSrc": "20608:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20608:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20595:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "20595:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20602:1:84",
                            "nodeType": "YulLiteral",
                            "src": "20602:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "20592:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "20592:2:84"
                        },
                        "nativeSrc": "20592:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20592:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20585:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20585:6:84"
                    },
                    "nativeSrc": "20585:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20585:20:84"
                  },
                  "nativeSrc": "20582:46:84",
                  "nodeType": "YulIf",
                  "src": "20582:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "20644:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20644:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "20649:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "20649:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20637:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20637:6:84"
                    },
                    "nativeSrc": "20637:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20637:18:84"
                  },
                  "nativeSrc": "20637:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20637:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResponseStatus",
            "nativeSrc": "20516:145:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "20556:5:84",
                "nodeType": "YulTypedName",
                "src": "20556:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "20563:3:84",
                "nodeType": "YulTypedName",
                "src": "20563:3:84",
                "type": ""
              }
            ],
            "src": "20516:145:84"
          },
          {
            "body": {
              "nativeSrc": "20715:274:84",
              "nodeType": "YulBlock",
              "src": "20715:274:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "20732:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20732:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20743:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "20743:5:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "20737:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "20737:5:84"
                        },
                        "nativeSrc": "20737:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20737:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20725:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20725:6:84"
                    },
                    "nativeSrc": "20725:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20725:25:84"
                  },
                  "nativeSrc": "20725:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20725:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "20770:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20770:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20775:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20775:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20766:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20766:3:84"
                        },
                        "nativeSrc": "20766:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20766:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "20792:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "20792:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20799:4:84",
                                "nodeType": "YulLiteral",
                                "src": "20799:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20788:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20788:3:84"
                            },
                            "nativeSrc": "20788:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20788:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "20782:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "20782:5:84"
                        },
                        "nativeSrc": "20782:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20782:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20759:6:84"
                    },
                    "nativeSrc": "20759:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20759:47:84"
                  },
                  "nativeSrc": "20759:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20759:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "20826:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20826:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20831:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20831:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20822:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20822:3:84"
                        },
                        "nativeSrc": "20822:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20822:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "20848:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "20848:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20855:4:84",
                                "nodeType": "YulLiteral",
                                "src": "20855:4:84",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20844:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20844:3:84"
                            },
                            "nativeSrc": "20844:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20844:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "20838:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "20838:5:84"
                        },
                        "nativeSrc": "20838:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20838:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20815:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20815:6:84"
                    },
                    "nativeSrc": "20815:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20815:47:84"
                  },
                  "nativeSrc": "20815:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20815:47:84"
                },
                {
                  "nativeSrc": "20871:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20871:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20901:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "20901:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20908:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20908:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20897:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20897:3:84"
                        },
                        "nativeSrc": "20897:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20897:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "20891:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "20891:5:84"
                    },
                    "nativeSrc": "20891:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20891:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "20875:12:84",
                      "nodeType": "YulTypedName",
                      "src": "20875:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "20954:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "20954:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "20972:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20972:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20977:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20977:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20968:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20968:3:84"
                        },
                        "nativeSrc": "20968:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20968:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "20923:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "20923:30:84"
                    },
                    "nativeSrc": "20923:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20923:60:84"
                  },
                  "nativeSrc": "20923:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20923:60:84"
                }
              ]
            },
            "name": "abi_encode_struct_Price",
            "nativeSrc": "20666:323:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "20699:5:84",
                "nodeType": "YulTypedName",
                "src": "20699:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "20706:3:84",
                "nodeType": "YulTypedName",
                "src": "20706:3:84",
                "type": ""
              }
            ],
            "src": "20666:323:84"
          },
          {
            "body": {
              "nativeSrc": "21143:94:84",
              "nodeType": "YulBlock",
              "src": "21143:94:84",
              "statements": [
                {
                  "nativeSrc": "21153:27:84",
                  "nodeType": "YulAssignment",
                  "src": "21153:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21165:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21165:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21176:3:84",
                        "nodeType": "YulLiteral",
                        "src": "21176:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21161:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21161:3:84"
                    },
                    "nativeSrc": "21161:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21161:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21153:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21153:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21213:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21213:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "21221:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21221:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "21189:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "21189:23:84"
                    },
                    "nativeSrc": "21189:42:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21189:42:84"
                  },
                  "nativeSrc": "21189:42:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21189:42:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$13453_memory_ptr__to_t_struct$_Price_$13453_memory_ptr__fromStack_reversed",
            "nativeSrc": "20994:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21112:9:84",
                "nodeType": "YulTypedName",
                "src": "21112:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21123:6:84",
                "nodeType": "YulTypedName",
                "src": "21123:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21134:4:84",
                "nodeType": "YulTypedName",
                "src": "21134:4:84",
                "type": ""
              }
            ],
            "src": "20994:243:84"
          },
          {
            "body": {
              "nativeSrc": "21397:497:84",
              "nodeType": "YulBlock",
              "src": "21397:497:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21414:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21414:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21425:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21425:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21407:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21407:6:84"
                    },
                    "nativeSrc": "21407:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21407:21:84"
                  },
                  "nativeSrc": "21407:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21407:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21448:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21448:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21459:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21459:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21444:3:84"
                        },
                        "nativeSrc": "21444:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21444:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "21474:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21474:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "21468:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "21468:5:84"
                            },
                            "nativeSrc": "21468:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21468:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "21491:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "21491:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "21496:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "21496:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "21487:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "21487:3:84"
                                },
                                "nativeSrc": "21487:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "21487:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21500:1:84",
                                "nodeType": "YulLiteral",
                                "src": "21500:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "21483:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21483:3:84"
                            },
                            "nativeSrc": "21483:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21483:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "21464:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21464:3:84"
                        },
                        "nativeSrc": "21464:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21464:39:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21437:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21437:6:84"
                    },
                    "nativeSrc": "21437:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21437:67:84"
                  },
                  "nativeSrc": "21437:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21437:67:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21524:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21524:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21535:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21535:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21520:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21520:3:84"
                        },
                        "nativeSrc": "21520:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21520:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "21554:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "21554:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "21562:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "21562:2:84",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "21550:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "21550:3:84"
                                },
                                "nativeSrc": "21550:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "21550:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "21544:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "21544:5:84"
                            },
                            "nativeSrc": "21544:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21544:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21568:18:84",
                            "nodeType": "YulLiteral",
                            "src": "21568:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "21540:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21540:3:84"
                        },
                        "nativeSrc": "21540:47:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21540:47:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21513:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21513:6:84"
                    },
                    "nativeSrc": "21513:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21513:75:84"
                  },
                  "nativeSrc": "21513:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21513:75:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21608:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21608:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21619:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21619:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21604:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21604:3:84"
                        },
                        "nativeSrc": "21604:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21604:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "21638:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "21638:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "21646:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "21646:2:84",
                                    "type": "",
                                    "value": "64"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "21634:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "21634:3:84"
                                },
                                "nativeSrc": "21634:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "21634:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "21628:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "21628:5:84"
                            },
                            "nativeSrc": "21628:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21628:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21652:10:84",
                            "nodeType": "YulLiteral",
                            "src": "21652:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "21624:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21624:3:84"
                        },
                        "nativeSrc": "21624:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21624:39:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21597:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21597:6:84"
                    },
                    "nativeSrc": "21597:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21597:67:84"
                  },
                  "nativeSrc": "21597:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21597:67:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21684:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21684:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21695:3:84",
                            "nodeType": "YulLiteral",
                            "src": "21695:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21680:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21680:3:84"
                        },
                        "nativeSrc": "21680:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21680:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "21711:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21711:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21719:2:84",
                                "nodeType": "YulLiteral",
                                "src": "21719:2:84",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21707:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21707:3:84"
                            },
                            "nativeSrc": "21707:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21707:15:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "21701:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "21701:5:84"
                        },
                        "nativeSrc": "21701:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21701:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21673:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21673:6:84"
                    },
                    "nativeSrc": "21673:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21673:51:84"
                  },
                  "nativeSrc": "21673:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21673:51:84"
                },
                {
                  "nativeSrc": "21733:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21733:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "21763:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21763:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21771:3:84",
                            "nodeType": "YulLiteral",
                            "src": "21771:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21759:3:84"
                        },
                        "nativeSrc": "21759:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21759:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21753:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21753:5:84"
                    },
                    "nativeSrc": "21753:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21753:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "21737:12:84",
                      "nodeType": "YulTypedName",
                      "src": "21737:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21796:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21796:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21807:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21807:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21792:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21792:3:84"
                        },
                        "nativeSrc": "21792:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21792:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21814:4:84",
                        "nodeType": "YulLiteral",
                        "src": "21814:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21785:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21785:6:84"
                    },
                    "nativeSrc": "21785:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21785:34:84"
                  },
                  "nativeSrc": "21785:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21785:34:84"
                },
                {
                  "nativeSrc": "21828:60:84",
                  "nodeType": "YulAssignment",
                  "src": "21828:60:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "21854:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "21854:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21872:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21872:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21883:3:84",
                            "nodeType": "YulLiteral",
                            "src": "21883:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21868:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21868:3:84"
                        },
                        "nativeSrc": "21868:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21868:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "21836:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "21836:17:84"
                    },
                    "nativeSrc": "21836:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21836:52:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21828:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21828:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed",
            "nativeSrc": "21242:652:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21366:9:84",
                "nodeType": "YulTypedName",
                "src": "21366:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21377:6:84",
                "nodeType": "YulTypedName",
                "src": "21377:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21388:4:84",
                "nodeType": "YulTypedName",
                "src": "21388:4:84",
                "type": ""
              }
            ],
            "src": "21242:652:84"
          },
          {
            "body": {
              "nativeSrc": "21998:89:84",
              "nodeType": "YulBlock",
              "src": "21998:89:84",
              "statements": [
                {
                  "nativeSrc": "22008:26:84",
                  "nodeType": "YulAssignment",
                  "src": "22008:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22020:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22020:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22031:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22031:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22016:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22016:3:84"
                    },
                    "nativeSrc": "22016:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22016:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22008:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22008:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22050:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22050:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "22065:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22065:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22073:6:84",
                            "nodeType": "YulLiteral",
                            "src": "22073:6:84",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22061:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22061:3:84"
                        },
                        "nativeSrc": "22061:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22061:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22043:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22043:6:84"
                    },
                    "nativeSrc": "22043:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22043:38:84"
                  },
                  "nativeSrc": "22043:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22043:38:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed",
            "nativeSrc": "21899:188:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21967:9:84",
                "nodeType": "YulTypedName",
                "src": "21967:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21978:6:84",
                "nodeType": "YulTypedName",
                "src": "21978:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21989:4:84",
                "nodeType": "YulTypedName",
                "src": "21989:4:84",
                "type": ""
              }
            ],
            "src": "21899:188:84"
          },
          {
            "body": {
              "nativeSrc": "22211:100:84",
              "nodeType": "YulBlock",
              "src": "22211:100:84",
              "statements": [
                {
                  "nativeSrc": "22221:26:84",
                  "nodeType": "YulAssignment",
                  "src": "22221:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22233:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22233:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22244:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22244:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22229:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22229:3:84"
                    },
                    "nativeSrc": "22229:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22229:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22221:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22221:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "22287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22287:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "22295:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22295:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "22256:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "22256:30:84"
                    },
                    "nativeSrc": "22256:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22256:49:84"
                  },
                  "nativeSrc": "22256:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22256:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed",
            "nativeSrc": "22092:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22180:9:84",
                "nodeType": "YulTypedName",
                "src": "22180:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22191:6:84",
                "nodeType": "YulTypedName",
                "src": "22191:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22202:4:84",
                "nodeType": "YulTypedName",
                "src": "22202:4:84",
                "type": ""
              }
            ],
            "src": "22092:219:84"
          },
          {
            "body": {
              "nativeSrc": "22386:110:84",
              "nodeType": "YulBlock",
              "src": "22386:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22432:16:84",
                    "nodeType": "YulBlock",
                    "src": "22432:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22441:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22441:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22444:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22444:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22434:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22434:6:84"
                          },
                          "nativeSrc": "22434:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22434:12:84"
                        },
                        "nativeSrc": "22434:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22434:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22407:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22407:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22416:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22416:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22403:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22403:3:84"
                        },
                        "nativeSrc": "22403:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22403:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22428:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22428:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22399:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22399:3:84"
                    },
                    "nativeSrc": "22399:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22399:32:84"
                  },
                  "nativeSrc": "22396:52:84",
                  "nodeType": "YulIf",
                  "src": "22396:52:84"
                },
                {
                  "nativeSrc": "22457:33:84",
                  "nodeType": "YulAssignment",
                  "src": "22457:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22480:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22480:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22467:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22467:12:84"
                    },
                    "nativeSrc": "22467:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22467:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22457:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22457:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32",
            "nativeSrc": "22316:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22352:9:84",
                "nodeType": "YulTypedName",
                "src": "22352:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22363:7:84",
                "nodeType": "YulTypedName",
                "src": "22363:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22375:6:84",
                "nodeType": "YulTypedName",
                "src": "22375:6:84",
                "type": ""
              }
            ],
            "src": "22316:180:84"
          },
          {
            "body": {
              "nativeSrc": "22656:162:84",
              "nodeType": "YulBlock",
              "src": "22656:162:84",
              "statements": [
                {
                  "nativeSrc": "22666:26:84",
                  "nodeType": "YulAssignment",
                  "src": "22666:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22678:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22678:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22689:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22689:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22674:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22674:3:84"
                    },
                    "nativeSrc": "22674:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22674:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22666:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22666:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22708:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22708:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "22719:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22719:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22701:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22701:6:84"
                    },
                    "nativeSrc": "22701:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22701:25:84"
                  },
                  "nativeSrc": "22701:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22701:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22746:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22746:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22757:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22757:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22742:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22742:3:84"
                        },
                        "nativeSrc": "22742:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22742:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "22762:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22762:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22735:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22735:6:84"
                    },
                    "nativeSrc": "22735:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22735:34:84"
                  },
                  "nativeSrc": "22735:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22735:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22789:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22789:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22800:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22800:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22785:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22785:3:84"
                        },
                        "nativeSrc": "22785:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22785:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "22805:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22805:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22778:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22778:6:84"
                    },
                    "nativeSrc": "22778:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22778:34:84"
                  },
                  "nativeSrc": "22778:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22778:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "22501:317:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22609:9:84",
                "nodeType": "YulTypedName",
                "src": "22609:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "22620:6:84",
                "nodeType": "YulTypedName",
                "src": "22620:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22628:6:84",
                "nodeType": "YulTypedName",
                "src": "22628:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22636:6:84",
                "nodeType": "YulTypedName",
                "src": "22636:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22647:4:84",
                "nodeType": "YulTypedName",
                "src": "22647:4:84",
                "type": ""
              }
            ],
            "src": "22501:317:84"
          },
          {
            "body": {
              "nativeSrc": "22927:340:84",
              "nodeType": "YulBlock",
              "src": "22927:340:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22973:16:84",
                    "nodeType": "YulBlock",
                    "src": "22973:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22982:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22982:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22985:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22975:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22975:6:84"
                          },
                          "nativeSrc": "22975:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22975:12:84"
                        },
                        "nativeSrc": "22975:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22975:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22948:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22948:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22957:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22957:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22944:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22944:3:84"
                        },
                        "nativeSrc": "22944:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22944:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22969:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22969:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22940:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22940:3:84"
                    },
                    "nativeSrc": "22940:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22940:32:84"
                  },
                  "nativeSrc": "22937:52:84",
                  "nodeType": "YulIf",
                  "src": "22937:52:84"
                },
                {
                  "nativeSrc": "22998:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22998:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23025:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23025:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "23012:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "23012:12:84"
                    },
                    "nativeSrc": "23012:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23012:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "23002:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23002:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23078:16:84",
                    "nodeType": "YulBlock",
                    "src": "23078:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23087:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23087:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23090:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23080:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23080:6:84"
                          },
                          "nativeSrc": "23080:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23080:12:84"
                        },
                        "nativeSrc": "23080:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23080:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "23050:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23050:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23058:18:84",
                        "nodeType": "YulLiteral",
                        "src": "23058:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23047:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23047:2:84"
                    },
                    "nativeSrc": "23047:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23047:30:84"
                  },
                  "nativeSrc": "23044:50:84",
                  "nodeType": "YulIf",
                  "src": "23044:50:84"
                },
                {
                  "nativeSrc": "23103:104:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23103:104:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23179:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "23190:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23190:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23175:3:84"
                        },
                        "nativeSrc": "23175:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23175:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "23199:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "23199:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "23129:45:84",
                      "nodeType": "YulIdentifier",
                      "src": "23129:45:84"
                    },
                    "nativeSrc": "23129:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23129:78:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "23107:8:84",
                      "nodeType": "YulTypedName",
                      "src": "23107:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "23117:8:84",
                      "nodeType": "YulTypedName",
                      "src": "23117:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23216:18:84",
                  "nodeType": "YulAssignment",
                  "src": "23216:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "23226:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "23226:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "23216:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23216:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23243:18:84",
                  "nodeType": "YulAssignment",
                  "src": "23243:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "23253:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "23253:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "23243:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23243:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes4_$dyn_calldata_ptr",
            "nativeSrc": "22823:444:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22885:9:84",
                "nodeType": "YulTypedName",
                "src": "22885:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22896:7:84",
                "nodeType": "YulTypedName",
                "src": "22896:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22908:6:84",
                "nodeType": "YulTypedName",
                "src": "22908:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22916:6:84",
                "nodeType": "YulTypedName",
                "src": "22916:6:84",
                "type": ""
              }
            ],
            "src": "22823:444:84"
          },
          {
            "body": {
              "nativeSrc": "23471:500:84",
              "nodeType": "YulBlock",
              "src": "23471:500:84",
              "statements": [
                {
                  "nativeSrc": "23481:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23481:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "23491:2:84",
                    "nodeType": "YulLiteral",
                    "src": "23491:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23485:2:84",
                      "nodeType": "YulTypedName",
                      "src": "23485:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23502:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23502:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23520:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23520:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23531:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23531:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23516:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23516:3:84"
                    },
                    "nativeSrc": "23516:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23516:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "23506:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23506:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23550:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23550:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23561:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23561:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23543:6:84"
                    },
                    "nativeSrc": "23543:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23543:21:84"
                  },
                  "nativeSrc": "23543:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23543:21:84"
                },
                {
                  "nativeSrc": "23573:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23573:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "23584:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "23584:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "23577:3:84",
                      "nodeType": "YulTypedName",
                      "src": "23577:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23599:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23599:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23619:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23619:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23613:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23613:5:84"
                    },
                    "nativeSrc": "23613:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23613:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23603:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23603:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "23642:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23642:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23650:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23650:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23635:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23635:6:84"
                    },
                    "nativeSrc": "23635:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23635:22:84"
                  },
                  "nativeSrc": "23635:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23635:22:84"
                },
                {
                  "nativeSrc": "23666:25:84",
                  "nodeType": "YulAssignment",
                  "src": "23666:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23677:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23677:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23688:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23688:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23673:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23673:3:84"
                    },
                    "nativeSrc": "23673:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23673:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "23666:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23666:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23700:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23700:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23718:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23718:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23726:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23726:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23714:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23714:3:84"
                    },
                    "nativeSrc": "23714:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23714:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "23704:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23704:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23738:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23738:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "23747:1:84",
                    "nodeType": "YulLiteral",
                    "src": "23747:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "23742:1:84",
                      "nodeType": "YulTypedName",
                      "src": "23742:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23806:139:84",
                    "nodeType": "YulBlock",
                    "src": "23806:139:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "23850:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "23850:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "23844:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "23844:5:84"
                              },
                              "nativeSrc": "23844:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "23844:13:84"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "23859:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "23859:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_struct_Price",
                            "nativeSrc": "23820:23:84",
                            "nodeType": "YulIdentifier",
                            "src": "23820:23:84"
                          },
                          "nativeSrc": "23820:43:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23820:43:84"
                        },
                        "nativeSrc": "23820:43:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23820:43:84"
                      },
                      {
                        "nativeSrc": "23876:21:84",
                        "nodeType": "YulAssignment",
                        "src": "23876:21:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "23887:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "23887:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23892:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23892:4:84",
                              "type": "",
                              "value": "0x80"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "23883:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23883:3:84"
                          },
                          "nativeSrc": "23883:14:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23883:14:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "23876:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23876:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "23910:25:84",
                        "nodeType": "YulAssignment",
                        "src": "23910:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "23924:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "23924:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "23932:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "23932:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "23920:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23920:3:84"
                          },
                          "nativeSrc": "23920:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23920:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "23910:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23910:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "23768:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "23768:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23771:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23771:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "23765:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23765:2:84"
                    },
                    "nativeSrc": "23765:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23765:13:84"
                  },
                  "nativeSrc": "23757:188:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "23779:18:84",
                    "nodeType": "YulBlock",
                    "src": "23779:18:84",
                    "statements": [
                      {
                        "nativeSrc": "23781:14:84",
                        "nodeType": "YulAssignment",
                        "src": "23781:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "23790:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "23790:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23793:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23793:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "23786:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23786:3:84"
                          },
                          "nativeSrc": "23786:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23786:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "23781:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "23781:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "23761:3:84",
                    "nodeType": "YulBlock",
                    "src": "23761:3:84",
                    "statements": []
                  },
                  "src": "23757:188:84"
                },
                {
                  "nativeSrc": "23954:11:84",
                  "nodeType": "YulAssignment",
                  "src": "23954:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "23962:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "23962:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23954:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23954:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "23272:699:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23440:9:84",
                "nodeType": "YulTypedName",
                "src": "23440:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23451:6:84",
                "nodeType": "YulTypedName",
                "src": "23451:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23462:4:84",
                "nodeType": "YulTypedName",
                "src": "23462:4:84",
                "type": ""
              }
            ],
            "src": "23272:699:84"
          },
          {
            "body": {
              "nativeSrc": "24075:142:84",
              "nodeType": "YulBlock",
              "src": "24075:142:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24121:16:84",
                    "nodeType": "YulBlock",
                    "src": "24121:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24130:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24130:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24133:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24133:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24123:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24123:6:84"
                          },
                          "nativeSrc": "24123:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24123:12:84"
                        },
                        "nativeSrc": "24123:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24123:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "24096:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "24096:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "24105:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24105:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "24092:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24092:3:84"
                        },
                        "nativeSrc": "24092:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24092:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24117:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24117:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "24088:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24088:3:84"
                    },
                    "nativeSrc": "24088:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24088:32:84"
                  },
                  "nativeSrc": "24085:52:84",
                  "nodeType": "YulIf",
                  "src": "24085:52:84"
                },
                {
                  "nativeSrc": "24146:65:84",
                  "nodeType": "YulAssignment",
                  "src": "24146:65:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24192:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24192:9:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "24203:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "24203:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "24156:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "24156:35:84"
                    },
                    "nativeSrc": "24156:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24156:55:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "24146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24146:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "23976:241:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24041:9:84",
                "nodeType": "YulTypedName",
                "src": "24041:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "24052:7:84",
                "nodeType": "YulTypedName",
                "src": "24052:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "24064:6:84",
                "nodeType": "YulTypedName",
                "src": "24064:6:84",
                "type": ""
              }
            ],
            "src": "23976:241:84"
          },
          {
            "body": {
              "nativeSrc": "24450:731:84",
              "nodeType": "YulBlock",
              "src": "24450:731:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24496:16:84",
                    "nodeType": "YulBlock",
                    "src": "24496:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24505:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24505:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24508:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24508:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24498:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24498:6:84"
                          },
                          "nativeSrc": "24498:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24498:12:84"
                        },
                        "nativeSrc": "24498:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24498:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "24471:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "24471:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "24480:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24480:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "24467:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24467:3:84"
                        },
                        "nativeSrc": "24467:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24467:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24492:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24492:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "24463:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24463:3:84"
                    },
                    "nativeSrc": "24463:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24463:32:84"
                  },
                  "nativeSrc": "24460:52:84",
                  "nodeType": "YulIf",
                  "src": "24460:52:84"
                },
                {
                  "nativeSrc": "24521:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24521:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24548:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24548:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "24535:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "24535:12:84"
                    },
                    "nativeSrc": "24535:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24535:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "24525:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24525:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24567:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24567:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24577:18:84",
                    "nodeType": "YulLiteral",
                    "src": "24577:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24571:2:84",
                      "nodeType": "YulTypedName",
                      "src": "24571:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24622:16:84",
                    "nodeType": "YulBlock",
                    "src": "24622:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24631:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24631:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24634:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24634:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24624:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24624:6:84"
                          },
                          "nativeSrc": "24624:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24624:12:84"
                        },
                        "nativeSrc": "24624:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24624:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24610:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24610:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "24618:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "24618:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24607:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24607:2:84"
                    },
                    "nativeSrc": "24607:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24607:14:84"
                  },
                  "nativeSrc": "24604:34:84",
                  "nodeType": "YulIf",
                  "src": "24604:34:84"
                },
                {
                  "nativeSrc": "24647:85:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24647:85:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24704:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24704:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "24715:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24715:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24700:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24700:3:84"
                        },
                        "nativeSrc": "24700:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24700:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "24724:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "24724:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "24673:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "24673:26:84"
                    },
                    "nativeSrc": "24673:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24673:59:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "24651:8:84",
                      "nodeType": "YulTypedName",
                      "src": "24651:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "24661:8:84",
                      "nodeType": "YulTypedName",
                      "src": "24661:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24741:18:84",
                  "nodeType": "YulAssignment",
                  "src": "24741:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "24751:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "24751:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "24741:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24741:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24768:18:84",
                  "nodeType": "YulAssignment",
                  "src": "24768:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "24778:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "24778:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "24768:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24768:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24795:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24795:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24825:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24825:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24836:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24836:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24821:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24821:3:84"
                        },
                        "nativeSrc": "24821:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24821:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "24808:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "24808:12:84"
                    },
                    "nativeSrc": "24808:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24808:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "24799:5:84",
                      "nodeType": "YulTypedName",
                      "src": "24799:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24874:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "24874:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "24849:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "24849:24:84"
                    },
                    "nativeSrc": "24849:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24849:31:84"
                  },
                  "nativeSrc": "24849:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24849:31:84"
                },
                {
                  "nativeSrc": "24889:15:84",
                  "nodeType": "YulAssignment",
                  "src": "24889:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "24899:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "24899:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "24889:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24889:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24913:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24913:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24946:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24946:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24957:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24957:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24942:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24942:3:84"
                        },
                        "nativeSrc": "24942:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24942:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "24929:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "24929:12:84"
                    },
                    "nativeSrc": "24929:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24929:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "24917:8:84",
                      "nodeType": "YulTypedName",
                      "src": "24917:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24990:16:84",
                    "nodeType": "YulBlock",
                    "src": "24990:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24999:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24999:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25002:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25002:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24992:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24992:6:84"
                          },
                          "nativeSrc": "24992:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24992:12:84"
                        },
                        "nativeSrc": "24992:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24992:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "24976:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "24976:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "24986:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "24986:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24973:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24973:2:84"
                    },
                    "nativeSrc": "24973:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24973:16:84"
                  },
                  "nativeSrc": "24970:36:84",
                  "nodeType": "YulIf",
                  "src": "24970:36:84"
                },
                {
                  "nativeSrc": "25015:106:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25015:106:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25091:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25091:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "25102:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "25102:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25087:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25087:3:84"
                        },
                        "nativeSrc": "25087:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25087:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "25113:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25113:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "25041:45:84",
                      "nodeType": "YulIdentifier",
                      "src": "25041:45:84"
                    },
                    "nativeSrc": "25041:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25041:80:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "25019:8:84",
                      "nodeType": "YulTypedName",
                      "src": "25019:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "25029:8:84",
                      "nodeType": "YulTypedName",
                      "src": "25029:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25130:18:84",
                  "nodeType": "YulAssignment",
                  "src": "25130:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "25140:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "25140:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "25130:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25130:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "25157:18:84",
                  "nodeType": "YulAssignment",
                  "src": "25157:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "25167:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "25167:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "25157:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25157:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_WitnetRequestTemplate_$1005t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "24222:959:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24384:9:84",
                "nodeType": "YulTypedName",
                "src": "24384:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "24395:7:84",
                "nodeType": "YulTypedName",
                "src": "24395:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "24407:6:84",
                "nodeType": "YulTypedName",
                "src": "24407:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "24415:6:84",
                "nodeType": "YulTypedName",
                "src": "24415:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "24423:6:84",
                "nodeType": "YulTypedName",
                "src": "24423:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "24431:6:84",
                "nodeType": "YulTypedName",
                "src": "24431:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "24439:6:84",
                "nodeType": "YulTypedName",
                "src": "24439:6:84",
                "type": ""
              }
            ],
            "src": "24222:959:84"
          },
          {
            "body": {
              "nativeSrc": "25218:95:84",
              "nodeType": "YulBlock",
              "src": "25218:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25235:1:84",
                        "nodeType": "YulLiteral",
                        "src": "25235:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "25242:3:84",
                            "nodeType": "YulLiteral",
                            "src": "25242:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25247:10:84",
                            "nodeType": "YulLiteral",
                            "src": "25247:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "25238:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25238:3:84"
                        },
                        "nativeSrc": "25238:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25238:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25228:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25228:6:84"
                    },
                    "nativeSrc": "25228:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25228:31:84"
                  },
                  "nativeSrc": "25228:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25228:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25275:1:84",
                        "nodeType": "YulLiteral",
                        "src": "25275:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25278:4:84",
                        "nodeType": "YulLiteral",
                        "src": "25278:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25268:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25268:6:84"
                    },
                    "nativeSrc": "25268:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25268:15:84"
                  },
                  "nativeSrc": "25268:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25268:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25299:1:84",
                        "nodeType": "YulLiteral",
                        "src": "25299:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25302:4:84",
                        "nodeType": "YulLiteral",
                        "src": "25302:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "25292:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25292:6:84"
                    },
                    "nativeSrc": "25292:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25292:15:84"
                  },
                  "nativeSrc": "25292:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25292:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "25186:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "25186:127:84"
          },
          {
            "body": {
              "nativeSrc": "25373:325:84",
              "nodeType": "YulBlock",
              "src": "25373:325:84",
              "statements": [
                {
                  "nativeSrc": "25383:22:84",
                  "nodeType": "YulAssignment",
                  "src": "25383:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25397:1:84",
                        "nodeType": "YulLiteral",
                        "src": "25397:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "25400:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "25400:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "25393:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25393:3:84"
                    },
                    "nativeSrc": "25393:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25393:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "25383:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25383:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "25414:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25414:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "25444:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "25444:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25450:1:84",
                        "nodeType": "YulLiteral",
                        "src": "25450:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "25440:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25440:3:84"
                    },
                    "nativeSrc": "25440:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25440:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "25418:18:84",
                      "nodeType": "YulTypedName",
                      "src": "25418:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25491:31:84",
                    "nodeType": "YulBlock",
                    "src": "25491:31:84",
                    "statements": [
                      {
                        "nativeSrc": "25493:27:84",
                        "nodeType": "YulAssignment",
                        "src": "25493:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "25507:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "25507:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25515:4:84",
                              "nodeType": "YulLiteral",
                              "src": "25515:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "25503:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "25503:3:84"
                          },
                          "nativeSrc": "25503:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25503:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "25493:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25493:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "25471:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "25471:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "25464:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25464:6:84"
                    },
                    "nativeSrc": "25464:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25464:26:84"
                  },
                  "nativeSrc": "25461:61:84",
                  "nodeType": "YulIf",
                  "src": "25461:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "25581:111:84",
                    "nodeType": "YulBlock",
                    "src": "25581:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25602:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25602:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "25609:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "25609:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "25614:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "25614:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "25605:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "25605:3:84"
                              },
                              "nativeSrc": "25605:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "25605:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "25595:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25595:6:84"
                          },
                          "nativeSrc": "25595:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25595:31:84"
                        },
                        "nativeSrc": "25595:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25595:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25646:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25646:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25649:4:84",
                              "nodeType": "YulLiteral",
                              "src": "25649:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "25639:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25639:6:84"
                          },
                          "nativeSrc": "25639:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25639:15:84"
                        },
                        "nativeSrc": "25639:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25639:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25674:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25674:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25677:4:84",
                              "nodeType": "YulLiteral",
                              "src": "25677:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25667:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25667:6:84"
                          },
                          "nativeSrc": "25667:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25667:15:84"
                        },
                        "nativeSrc": "25667:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25667:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "25537:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "25537:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "25560:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25560:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25568:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25568:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "25557:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "25557:2:84"
                        },
                        "nativeSrc": "25557:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25557:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "25534:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "25534:2:84"
                    },
                    "nativeSrc": "25534:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25534:38:84"
                  },
                  "nativeSrc": "25531:161:84",
                  "nodeType": "YulIf",
                  "src": "25531:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "25318:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "25353:4:84",
                "nodeType": "YulTypedName",
                "src": "25353:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "25362:6:84",
                "nodeType": "YulTypedName",
                "src": "25362:6:84",
                "type": ""
              }
            ],
            "src": "25318:380:84"
          },
          {
            "body": {
              "nativeSrc": "25877:225:84",
              "nodeType": "YulBlock",
              "src": "25877:225:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25894:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25894:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25905:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25905:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25887:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25887:6:84"
                    },
                    "nativeSrc": "25887:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25887:21:84"
                  },
                  "nativeSrc": "25887:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25887:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25928:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25928:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25939:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25939:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25924:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25924:3:84"
                        },
                        "nativeSrc": "25924:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25924:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25944:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25944:2:84",
                        "type": "",
                        "value": "35"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25917:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25917:6:84"
                    },
                    "nativeSrc": "25917:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25917:30:84"
                  },
                  "nativeSrc": "25917:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25917:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25967:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25967:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25978:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25978:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25963:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25963:3:84"
                        },
                        "nativeSrc": "25963:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25963:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f20736f6c7665722061646472",
                        "kind": "string",
                        "nativeSrc": "25983:34:84",
                        "nodeType": "YulLiteral",
                        "src": "25983:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: no solver addr"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25956:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25956:6:84"
                    },
                    "nativeSrc": "25956:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25956:62:84"
                  },
                  "nativeSrc": "25956:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25956:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26038:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26038:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26049:2:84",
                            "nodeType": "YulLiteral",
                            "src": "26049:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26034:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26034:3:84"
                        },
                        "nativeSrc": "26034:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26034:18:84"
                      },
                      {
                        "hexValue": "657373",
                        "kind": "string",
                        "nativeSrc": "26054:5:84",
                        "nodeType": "YulLiteral",
                        "src": "26054:5:84",
                        "type": "",
                        "value": "ess"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26027:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26027:6:84"
                    },
                    "nativeSrc": "26027:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26027:33:84"
                  },
                  "nativeSrc": "26027:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26027:33:84"
                },
                {
                  "nativeSrc": "26069:27:84",
                  "nodeType": "YulAssignment",
                  "src": "26069:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26081:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26081:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26092:3:84",
                        "nodeType": "YulLiteral",
                        "src": "26092:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26077:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26077:3:84"
                    },
                    "nativeSrc": "26077:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26077:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26069:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "26069:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_28ad59ab3f0f7b58d03f5e9d0886534278115562be34d295857cdff4ae673617__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25703:399:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25854:9:84",
                "nodeType": "YulTypedName",
                "src": "25854:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25868:4:84",
                "nodeType": "YulTypedName",
                "src": "25868:4:84",
                "type": ""
              }
            ],
            "src": "25703:399:84"
          },
          {
            "body": {
              "nativeSrc": "26163:65:84",
              "nodeType": "YulBlock",
              "src": "26163:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26180:1:84",
                        "nodeType": "YulLiteral",
                        "src": "26180:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "26183:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26183:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26173:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26173:6:84"
                    },
                    "nativeSrc": "26173:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26173:14:84"
                  },
                  "nativeSrc": "26173:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26173:14:84"
                },
                {
                  "nativeSrc": "26196:26:84",
                  "nodeType": "YulAssignment",
                  "src": "26196:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26214:1:84",
                        "nodeType": "YulLiteral",
                        "src": "26214:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26217:4:84",
                        "nodeType": "YulLiteral",
                        "src": "26217:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "26204:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "26204:9:84"
                    },
                    "nativeSrc": "26204:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26204:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "26196:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "26196:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_string_storage",
            "nativeSrc": "26107:121:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "26146:3:84",
                "nodeType": "YulTypedName",
                "src": "26146:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "26154:4:84",
                "nodeType": "YulTypedName",
                "src": "26154:4:84",
                "type": ""
              }
            ],
            "src": "26107:121:84"
          },
          {
            "body": {
              "nativeSrc": "26314:462:84",
              "nodeType": "YulBlock",
              "src": "26314:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26347:423:84",
                    "nodeType": "YulBlock",
                    "src": "26347:423:84",
                    "statements": [
                      {
                        "nativeSrc": "26361:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26361:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "26371:1:84",
                          "nodeType": "YulLiteral",
                          "src": "26371:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "26365:2:84",
                            "nodeType": "YulTypedName",
                            "src": "26365:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26392:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "26395:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26395:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "26385:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26385:6:84"
                          },
                          "nativeSrc": "26385:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26385:16:84"
                        },
                        "nativeSrc": "26385:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26385:16:84"
                      },
                      {
                        "nativeSrc": "26414:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26414:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26436:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26436:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26439:4:84",
                              "nodeType": "YulLiteral",
                              "src": "26439:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "26426:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26426:9:84"
                          },
                          "nativeSrc": "26426:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26426:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "26418:4:84",
                            "nodeType": "YulTypedName",
                            "src": "26418:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "26457:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26457:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "26480:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "26480:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "26490:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "26490:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "26497:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "26497:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "26509:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "26509:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "26493:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "26493:3:84"
                                  },
                                  "nativeSrc": "26493:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "26493:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "26486:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "26486:3:84"
                              },
                              "nativeSrc": "26486:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "26486:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26476:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26476:3:84"
                          },
                          "nativeSrc": "26476:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26476:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "26461:11:84",
                            "nodeType": "YulTypedName",
                            "src": "26461:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "26551:23:84",
                          "nodeType": "YulBlock",
                          "src": "26551:23:84",
                          "statements": [
                            {
                              "nativeSrc": "26553:19:84",
                              "nodeType": "YulAssignment",
                              "src": "26553:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "26568:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "26568:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "26553:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "26553:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "26533:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "26533:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26545:4:84",
                              "nodeType": "YulLiteral",
                              "src": "26545:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "26530:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26530:2:84"
                          },
                          "nativeSrc": "26530:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26530:20:84"
                        },
                        "nativeSrc": "26527:47:84",
                        "nodeType": "YulIf",
                        "src": "26527:47:84"
                      },
                      {
                        "nativeSrc": "26587:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26587:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "26601:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "26601:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "26611:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "26611:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "26618:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "26618:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "26623:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "26623:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "26614:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "26614:3:84"
                                  },
                                  "nativeSrc": "26614:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "26614:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "26607:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "26607:3:84"
                              },
                              "nativeSrc": "26607:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "26607:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26597:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26597:3:84"
                          },
                          "nativeSrc": "26597:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26597:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "26591:2:84",
                            "nodeType": "YulTypedName",
                            "src": "26591:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "26641:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26641:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "26654:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "26654:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "26645:5:84",
                            "nodeType": "YulTypedName",
                            "src": "26645:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "26739:21:84",
                          "nodeType": "YulBlock",
                          "src": "26739:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "26748:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "26748:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "26755:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "26755:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "26741:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "26741:6:84"
                                },
                                "nativeSrc": "26741:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "26741:17:84"
                              },
                              "nativeSrc": "26741:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "26741:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "26689:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26689:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "26696:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26696:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "26686:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26686:2:84"
                          },
                          "nativeSrc": "26686:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26686:13:84"
                        },
                        "nativeSrc": "26678:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "26700:26:84",
                          "nodeType": "YulBlock",
                          "src": "26700:26:84",
                          "statements": [
                            {
                              "nativeSrc": "26702:22:84",
                              "nodeType": "YulAssignment",
                              "src": "26702:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "26715:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "26715:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "26722:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "26722:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "26711:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "26711:3:84"
                                },
                                "nativeSrc": "26711:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "26711:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "26702:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "26702:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "26682:3:84",
                          "nodeType": "YulBlock",
                          "src": "26682:3:84",
                          "statements": []
                        },
                        "src": "26678:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "26330:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26330:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26335:2:84",
                        "nodeType": "YulLiteral",
                        "src": "26335:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26327:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26327:2:84"
                    },
                    "nativeSrc": "26327:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26327:11:84"
                  },
                  "nativeSrc": "26324:446:84",
                  "nodeType": "YulIf",
                  "src": "26324:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_string_storage",
            "nativeSrc": "26233:543:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "26286:5:84",
                "nodeType": "YulTypedName",
                "src": "26286:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "26293:3:84",
                "nodeType": "YulTypedName",
                "src": "26293:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "26298:10:84",
                "nodeType": "YulTypedName",
                "src": "26298:10:84",
                "type": ""
              }
            ],
            "src": "26233:543:84"
          },
          {
            "body": {
              "nativeSrc": "26866:81:84",
              "nodeType": "YulBlock",
              "src": "26866:81:84",
              "statements": [
                {
                  "nativeSrc": "26876:65:84",
                  "nodeType": "YulAssignment",
                  "src": "26876:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "26891:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "26891:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "26909:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "26909:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "26912:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "26912:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "26905:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "26905:3:84"
                                    },
                                    "nativeSrc": "26905:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "26905:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "26922:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "26922:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "26918:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "26918:3:84"
                                    },
                                    "nativeSrc": "26918:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "26918:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "26901:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "26901:3:84"
                                },
                                "nativeSrc": "26901:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "26901:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "26897:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26897:3:84"
                            },
                            "nativeSrc": "26897:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26897:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "26887:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26887:3:84"
                        },
                        "nativeSrc": "26887:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26887:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "26933:1:84",
                            "nodeType": "YulLiteral",
                            "src": "26933:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "26936:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26936:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "26929:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26929:3:84"
                        },
                        "nativeSrc": "26929:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26929:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "26884:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26884:2:84"
                    },
                    "nativeSrc": "26884:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26884:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "26876:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "26876:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "26781:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "26843:4:84",
                "nodeType": "YulTypedName",
                "src": "26843:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "26849:3:84",
                "nodeType": "YulTypedName",
                "src": "26849:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "26857:4:84",
                "nodeType": "YulTypedName",
                "src": "26857:4:84",
                "type": ""
              }
            ],
            "src": "26781:166:84"
          },
          {
            "body": {
              "nativeSrc": "27055:1103:84",
              "nodeType": "YulBlock",
              "src": "27055:1103:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27096:22:84",
                    "nodeType": "YulBlock",
                    "src": "27096:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "27098:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "27098:16:84"
                          },
                          "nativeSrc": "27098:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27098:18:84"
                        },
                        "nativeSrc": "27098:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27098:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "27071:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27071:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27076:18:84",
                        "nodeType": "YulLiteral",
                        "src": "27076:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27068:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "27068:2:84"
                    },
                    "nativeSrc": "27068:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27068:27:84"
                  },
                  "nativeSrc": "27065:53:84",
                  "nodeType": "YulIf",
                  "src": "27065:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "27171:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "27171:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "27209:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "27209:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "27203:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "27203:5:84"
                            },
                            "nativeSrc": "27203:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27203:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "27177:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "27177:25:84"
                        },
                        "nativeSrc": "27177:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27177:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "27217:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27217:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_string_storage",
                      "nativeSrc": "27127:43:84",
                      "nodeType": "YulIdentifier",
                      "src": "27127:43:84"
                    },
                    "nativeSrc": "27127:94:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27127:94:84"
                  },
                  "nativeSrc": "27127:94:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27127:94:84"
                },
                {
                  "nativeSrc": "27230:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27230:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "27247:1:84",
                    "nodeType": "YulLiteral",
                    "src": "27247:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "27234:9:84",
                      "nodeType": "YulTypedName",
                      "src": "27234:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "27291:609:84",
                        "nodeType": "YulBlock",
                        "src": "27291:609:84",
                        "statements": [
                          {
                            "nativeSrc": "27305:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "27305:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "27324:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27324:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "27333:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "27333:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "27329:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "27329:3:84"
                                  },
                                  "nativeSrc": "27329:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "27329:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "27320:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "27320:3:84"
                              },
                              "nativeSrc": "27320:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "27320:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "27309:7:84",
                                "nodeType": "YulTypedName",
                                "src": "27309:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "27350:49:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "27350:49:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "27394:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27394:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_string_storage",
                                "nativeSrc": "27364:29:84",
                                "nodeType": "YulIdentifier",
                                "src": "27364:29:84"
                              },
                              "nativeSrc": "27364:35:84",
                              "nodeType": "YulFunctionCall",
                              "src": "27364:35:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "27354:6:84",
                                "nodeType": "YulTypedName",
                                "src": "27354:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "27412:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "27412:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "27421:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "27421:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "27416:1:84",
                                "nodeType": "YulTypedName",
                                "src": "27416:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "27500:172:84",
                              "nodeType": "YulBlock",
                              "src": "27500:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "27525:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27525:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "27550:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "27550:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "27555:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "27555:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "27546:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "27546:3:84"
                                            },
                                            "nativeSrc": "27546:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "27546:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "27533:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "27533:12:84"
                                        },
                                        "nativeSrc": "27533:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "27533:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "27518:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27518:6:84"
                                    },
                                    "nativeSrc": "27518:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27518:49:84"
                                  },
                                  "nativeSrc": "27518:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "27518:49:84"
                                },
                                {
                                  "nativeSrc": "27584:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "27584:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "27598:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27598:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "27606:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "27606:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "27594:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27594:3:84"
                                    },
                                    "nativeSrc": "27594:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27594:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "27584:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27584:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "27625:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "27625:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "27642:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27642:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "27653:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "27653:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "27638:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27638:3:84"
                                    },
                                    "nativeSrc": "27638:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27638:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "27625:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27625:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "27454:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27454:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "27457:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27457:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "27451:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "27451:2:84"
                              },
                              "nativeSrc": "27451:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "27451:14:84"
                            },
                            "nativeSrc": "27443:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "27466:21:84",
                              "nodeType": "YulBlock",
                              "src": "27466:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "27468:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "27468:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "27477:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27477:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "27480:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "27480:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "27473:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27473:3:84"
                                    },
                                    "nativeSrc": "27473:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27473:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "27468:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27468:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "27447:3:84",
                              "nodeType": "YulBlock",
                              "src": "27447:3:84",
                              "statements": []
                            },
                            "src": "27443:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "27717:127:84",
                              "nodeType": "YulBlock",
                              "src": "27717:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "27742:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27742:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "27771:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "27771:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "27776:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "27776:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "27767:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "27767:3:84"
                                                },
                                                "nativeSrc": "27767:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "27767:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "27754:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "27754:12:84"
                                            },
                                            "nativeSrc": "27754:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "27754:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "27805:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "27805:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "27808:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "27808:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "27801:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "27801:3:84"
                                                        },
                                                        "nativeSrc": "27801:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "27801:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "27814:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "27814:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "27797:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "27797:3:84"
                                                    },
                                                    "nativeSrc": "27797:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "27797:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "27824:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "27824:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "27820:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "27820:3:84"
                                                    },
                                                    "nativeSrc": "27820:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "27820:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "27793:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "27793:3:84"
                                                },
                                                "nativeSrc": "27793:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "27793:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "27789:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "27789:3:84"
                                            },
                                            "nativeSrc": "27789:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "27789:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "27750:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "27750:3:84"
                                        },
                                        "nativeSrc": "27750:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "27750:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "27735:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27735:6:84"
                                    },
                                    "nativeSrc": "27735:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27735:95:84"
                                  },
                                  "nativeSrc": "27735:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "27735:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "27691:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27691:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "27700:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27700:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "27688:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "27688:2:84"
                              },
                              "nativeSrc": "27688:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "27688:16:84"
                            },
                            "nativeSrc": "27685:159:84",
                            "nodeType": "YulIf",
                            "src": "27685:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "27864:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27864:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "27878:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "27878:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "27881:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "27881:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "27874:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "27874:3:84"
                                      },
                                      "nativeSrc": "27874:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "27874:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "27887:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "27887:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "27870:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "27870:3:84"
                                  },
                                  "nativeSrc": "27870:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "27870:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "27857:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "27857:6:84"
                              },
                              "nativeSrc": "27857:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "27857:33:84"
                            },
                            "nativeSrc": "27857:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "27857:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "27284:616:84",
                      "nodeType": "YulCase",
                      "src": "27284:616:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "27289:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27289:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "27917:235:84",
                        "nodeType": "YulBlock",
                        "src": "27917:235:84",
                        "statements": [
                          {
                            "nativeSrc": "27931:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "27931:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "27944:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27944:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "27935:5:84",
                                "nodeType": "YulTypedName",
                                "src": "27935:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "27977:74:84",
                              "nodeType": "YulBlock",
                              "src": "27977:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "27995:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "27995:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "28021:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "28021:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "28026:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "28026:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "28017:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "28017:3:84"
                                        },
                                        "nativeSrc": "28017:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "28017:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "28004:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "28004:12:84"
                                    },
                                    "nativeSrc": "28004:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "28004:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "27995:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "27995:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "27961:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27961:3:84"
                            },
                            "nativeSrc": "27958:93:84",
                            "nodeType": "YulIf",
                            "src": "27958:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "28071:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28071:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "28130:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "28130:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "28137:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "28137:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "28077:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "28077:52:84"
                                  },
                                  "nativeSrc": "28077:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "28077:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "28064:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "28064:6:84"
                              },
                              "nativeSrc": "28064:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "28064:78:84"
                            },
                            "nativeSrc": "28064:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "28064:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "27909:243:84",
                      "nodeType": "YulCase",
                      "src": "27909:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "27267:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27267:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27272:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27272:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27264:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "27264:2:84"
                    },
                    "nativeSrc": "27264:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27264:11:84"
                  },
                  "nativeSrc": "27257:895:84",
                  "nodeType": "YulSwitch",
                  "src": "27257:895:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
            "nativeSrc": "26952:1206:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "27035:4:84",
                "nodeType": "YulTypedName",
                "src": "27035:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "27041:3:84",
                "nodeType": "YulTypedName",
                "src": "27041:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "27046:3:84",
                "nodeType": "YulTypedName",
                "src": "27046:3:84",
                "type": ""
              }
            ],
            "src": "26952:1206:84"
          },
          {
            "body": {
              "nativeSrc": "28195:95:84",
              "nodeType": "YulBlock",
              "src": "28195:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28212:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28212:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "28219:3:84",
                            "nodeType": "YulLiteral",
                            "src": "28219:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28224:10:84",
                            "nodeType": "YulLiteral",
                            "src": "28224:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "28215:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28215:3:84"
                        },
                        "nativeSrc": "28215:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28215:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28205:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28205:6:84"
                    },
                    "nativeSrc": "28205:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28205:31:84"
                  },
                  "nativeSrc": "28205:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28205:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28252:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28252:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28255:4:84",
                        "nodeType": "YulLiteral",
                        "src": "28255:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28245:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28245:6:84"
                    },
                    "nativeSrc": "28245:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28245:15:84"
                  },
                  "nativeSrc": "28245:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28245:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28276:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28276:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28279:4:84",
                        "nodeType": "YulLiteral",
                        "src": "28279:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "28269:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28269:6:84"
                    },
                    "nativeSrc": "28269:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28269:15:84"
                  },
                  "nativeSrc": "28269:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28269:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "28163:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "28163:127:84"
          },
          {
            "body": {
              "nativeSrc": "28343:77:84",
              "nodeType": "YulBlock",
              "src": "28343:77:84",
              "statements": [
                {
                  "nativeSrc": "28353:16:84",
                  "nodeType": "YulAssignment",
                  "src": "28353:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "28364:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "28364:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "28367:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "28367:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28360:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28360:3:84"
                    },
                    "nativeSrc": "28360:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28360:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "28353:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28353:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28392:22:84",
                    "nodeType": "YulBlock",
                    "src": "28392:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "28394:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "28394:16:84"
                          },
                          "nativeSrc": "28394:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28394:18:84"
                        },
                        "nativeSrc": "28394:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28394:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "28384:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "28384:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "28387:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "28387:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28381:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28381:2:84"
                    },
                    "nativeSrc": "28381:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28381:10:84"
                  },
                  "nativeSrc": "28378:36:84",
                  "nodeType": "YulIf",
                  "src": "28378:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "28295:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "28326:1:84",
                "nodeType": "YulTypedName",
                "src": "28326:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "28329:1:84",
                "nodeType": "YulTypedName",
                "src": "28329:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "28335:3:84",
                "nodeType": "YulTypedName",
                "src": "28335:3:84",
                "type": ""
              }
            ],
            "src": "28295:125:84"
          },
          {
            "body": {
              "nativeSrc": "28492:200:84",
              "nodeType": "YulBlock",
              "src": "28492:200:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "28509:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "28509:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28514:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28514:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28502:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28502:6:84"
                    },
                    "nativeSrc": "28502:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28502:19:84"
                  },
                  "nativeSrc": "28502:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28502:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "28547:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "28547:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28552:4:84",
                            "nodeType": "YulLiteral",
                            "src": "28552:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28543:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28543:3:84"
                        },
                        "nativeSrc": "28543:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28543:14:84"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "28559:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "28559:5:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28566:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28566:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28530:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28530:12:84"
                    },
                    "nativeSrc": "28530:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28530:43:84"
                  },
                  "nativeSrc": "28530:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28530:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "28597:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "28597:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "28602:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "28602:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28593:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28593:3:84"
                            },
                            "nativeSrc": "28593:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28593:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28611:4:84",
                            "nodeType": "YulLiteral",
                            "src": "28611:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28589:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28589:3:84"
                        },
                        "nativeSrc": "28589:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28589:27:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28618:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28618:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28582:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28582:6:84"
                    },
                    "nativeSrc": "28582:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28582:38:84"
                  },
                  "nativeSrc": "28582:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28582:38:84"
                },
                {
                  "nativeSrc": "28629:57:84",
                  "nodeType": "YulAssignment",
                  "src": "28629:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "28644:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "28644:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "28657:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "28657:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28665:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28665:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28653:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28653:3:84"
                                },
                                "nativeSrc": "28653:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28653:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28674:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28674:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "28670:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28670:3:84"
                                },
                                "nativeSrc": "28670:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28670:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "28649:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28649:3:84"
                            },
                            "nativeSrc": "28649:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28649:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28640:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28640:3:84"
                        },
                        "nativeSrc": "28640:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28640:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28681:4:84",
                        "nodeType": "YulLiteral",
                        "src": "28681:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28636:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28636:3:84"
                    },
                    "nativeSrc": "28636:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28636:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "28629:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28629:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_calldata",
            "nativeSrc": "28425:267:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "28461:5:84",
                "nodeType": "YulTypedName",
                "src": "28461:5:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "28468:6:84",
                "nodeType": "YulTypedName",
                "src": "28468:6:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "28476:3:84",
                "nodeType": "YulTypedName",
                "src": "28476:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "28484:3:84",
                "nodeType": "YulTypedName",
                "src": "28484:3:84",
                "type": ""
              }
            ],
            "src": "28425:267:84"
          },
          {
            "body": {
              "nativeSrc": "28774:424:84",
              "nodeType": "YulBlock",
              "src": "28774:424:84",
              "statements": [
                {
                  "nativeSrc": "28784:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28784:43:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "28823:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "28823:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "28810:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28810:12:84"
                    },
                    "nativeSrc": "28810:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28810:17:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "28788:18:84",
                      "nodeType": "YulTypedName",
                      "src": "28788:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28916:16:84",
                    "nodeType": "YulBlock",
                    "src": "28916:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28925:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28925:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28928:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28928:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28918:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28918:6:84"
                          },
                          "nativeSrc": "28918:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28918:12:84"
                        },
                        "nativeSrc": "28918:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28918:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "28850:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "28850:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "28878:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "28878:12:84"
                                    },
                                    "nativeSrc": "28878:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "28878:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "28894:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "28894:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "28874:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28874:3:84"
                                },
                                "nativeSrc": "28874:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28874:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28909:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28909:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "28905:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28905:3:84"
                                },
                                "nativeSrc": "28905:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28905:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28870:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28870:3:84"
                            },
                            "nativeSrc": "28870:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28870:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28846:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28846:3:84"
                        },
                        "nativeSrc": "28846:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28846:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28839:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28839:6:84"
                    },
                    "nativeSrc": "28839:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28839:76:84"
                  },
                  "nativeSrc": "28836:96:84",
                  "nodeType": "YulIf",
                  "src": "28836:96:84"
                },
                {
                  "nativeSrc": "28941:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28941:48:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "28960:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "28960:18:84"
                      },
                      {
                        "name": "base_ref",
                        "nativeSrc": "28980:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "28980:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28956:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28956:3:84"
                    },
                    "nativeSrc": "28956:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28956:33:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "28945:7:84",
                      "nodeType": "YulTypedName",
                      "src": "28945:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28998:31:84",
                  "nodeType": "YulAssignment",
                  "src": "28998:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "29021:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29021:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "29008:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "29008:12:84"
                    },
                    "nativeSrc": "29008:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29008:21:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "28998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28998:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29038:27:84",
                  "nodeType": "YulAssignment",
                  "src": "29038:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "29051:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29051:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29060:4:84",
                        "nodeType": "YulLiteral",
                        "src": "29060:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29047:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29047:3:84"
                    },
                    "nativeSrc": "29047:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29047:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "29038:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29038:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29108:16:84",
                    "nodeType": "YulBlock",
                    "src": "29108:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29117:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29117:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29120:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29120:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29110:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29110:6:84"
                          },
                          "nativeSrc": "29110:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29110:12:84"
                        },
                        "nativeSrc": "29110:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29110:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "29080:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29080:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29088:18:84",
                        "nodeType": "YulLiteral",
                        "src": "29088:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29077:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29077:2:84"
                    },
                    "nativeSrc": "29077:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29077:30:84"
                  },
                  "nativeSrc": "29074:50:84",
                  "nodeType": "YulIf",
                  "src": "29074:50:84"
                },
                {
                  "body": {
                    "nativeSrc": "29176:16:84",
                    "nodeType": "YulBlock",
                    "src": "29176:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29185:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29185:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29188:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29188:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29178:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29178:6:84"
                          },
                          "nativeSrc": "29178:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29178:12:84"
                        },
                        "nativeSrc": "29178:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29178:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "29140:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29140:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "29151:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "29151:12:84"
                            },
                            "nativeSrc": "29151:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29151:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "29167:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29167:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29147:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29147:3:84"
                        },
                        "nativeSrc": "29147:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29147:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "29136:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29136:3:84"
                    },
                    "nativeSrc": "29136:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29136:39:84"
                  },
                  "nativeSrc": "29133:59:84",
                  "nodeType": "YulIf",
                  "src": "29133:59:84"
                }
              ]
            },
            "name": "calldata_access_string_calldata",
            "nativeSrc": "28697:501:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "28738:8:84",
                "nodeType": "YulTypedName",
                "src": "28738:8:84",
                "type": ""
              },
              {
                "name": "ptr",
                "nativeSrc": "28748:3:84",
                "nodeType": "YulTypedName",
                "src": "28748:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "28756:5:84",
                "nodeType": "YulTypedName",
                "src": "28756:5:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "28763:6:84",
                "nodeType": "YulTypedName",
                "src": "28763:6:84",
                "type": ""
              }
            ],
            "src": "28697:501:84"
          },
          {
            "body": {
              "nativeSrc": "29412:777:84",
              "nodeType": "YulBlock",
              "src": "29412:777:84",
              "statements": [
                {
                  "nativeSrc": "29422:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29422:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29440:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29440:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29451:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29451:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29436:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29436:3:84"
                    },
                    "nativeSrc": "29436:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29436:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "29426:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29426:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29470:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29470:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "29485:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29485:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29497:3:84",
                                "nodeType": "YulLiteral",
                                "src": "29497:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "29502:10:84",
                                "nodeType": "YulLiteral",
                                "src": "29502:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29493:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29493:3:84"
                            },
                            "nativeSrc": "29493:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29493:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29481:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29481:3:84"
                        },
                        "nativeSrc": "29481:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29481:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29463:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29463:6:84"
                    },
                    "nativeSrc": "29463:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29463:52:84"
                  },
                  "nativeSrc": "29463:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29463:52:84"
                },
                {
                  "nativeSrc": "29524:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29524:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29534:2:84",
                    "nodeType": "YulLiteral",
                    "src": "29534:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "29528:2:84",
                      "nodeType": "YulTypedName",
                      "src": "29528:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29556:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29556:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29567:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29567:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29552:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29552:3:84"
                        },
                        "nativeSrc": "29552:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29552:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29572:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29572:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29545:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29545:6:84"
                    },
                    "nativeSrc": "29545:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29545:30:84"
                  },
                  "nativeSrc": "29545:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29545:30:84"
                },
                {
                  "nativeSrc": "29584:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29584:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "29595:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29595:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "29588:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29588:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29617:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29617:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "29625:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29625:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29610:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29610:6:84"
                    },
                    "nativeSrc": "29610:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29610:22:84"
                  },
                  "nativeSrc": "29610:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29610:22:84"
                },
                {
                  "nativeSrc": "29641:25:84",
                  "nodeType": "YulAssignment",
                  "src": "29641:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29652:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29652:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29663:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29663:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29648:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29648:3:84"
                    },
                    "nativeSrc": "29648:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29648:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "29641:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29641:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29675:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29675:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29697:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29697:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29712:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29712:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "29715:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "29715:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29708:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29708:3:84"
                            },
                            "nativeSrc": "29708:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29708:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29693:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29693:3:84"
                        },
                        "nativeSrc": "29693:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29693:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29725:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29725:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29689:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29689:3:84"
                    },
                    "nativeSrc": "29689:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29689:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "29679:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29679:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29737:20:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29737:20:84",
                  "value": {
                    "name": "value1",
                    "nativeSrc": "29751:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29751:6:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "29741:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29741:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29766:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29766:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29775:1:84",
                    "nodeType": "YulLiteral",
                    "src": "29775:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "29770:1:84",
                      "nodeType": "YulTypedName",
                      "src": "29770:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29834:326:84",
                    "nodeType": "YulBlock",
                    "src": "29834:326:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "29855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29855:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "29868:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29868:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "29876:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29876:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "29864:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29864:3:84"
                                  },
                                  "nativeSrc": "29864:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29864:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "29892:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "29892:2:84",
                                      "type": "",
                                      "value": "95"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "29888:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29888:3:84"
                                  },
                                  "nativeSrc": "29888:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29888:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "29860:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "29860:3:84"
                              },
                              "nativeSrc": "29860:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "29860:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29848:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29848:6:84"
                          },
                          "nativeSrc": "29848:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29848:49:84"
                        },
                        "nativeSrc": "29848:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29848:49:84"
                      },
                      {
                        "nativeSrc": "29910:83:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29910:83:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "value1",
                              "nativeSrc": "29978:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "29978:6:84"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "29986:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "29986:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "29946:31:84",
                            "nodeType": "YulIdentifier",
                            "src": "29946:31:84"
                          },
                          "nativeSrc": "29946:47:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29946:47:84"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "29914:13:84",
                            "nodeType": "YulTypedName",
                            "src": "29914:13:84",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "29929:13:84",
                            "nodeType": "YulTypedName",
                            "src": "29929:13:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30006:74:84",
                        "nodeType": "YulAssignment",
                        "src": "30006:74:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "30043:13:84",
                              "nodeType": "YulIdentifier",
                              "src": "30043:13:84"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "30058:13:84",
                              "nodeType": "YulIdentifier",
                              "src": "30058:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "30073:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "30073:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "30016:26:84",
                            "nodeType": "YulIdentifier",
                            "src": "30016:26:84"
                          },
                          "nativeSrc": "30016:64:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30016:64:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "30006:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30006:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30093:25:84",
                        "nodeType": "YulAssignment",
                        "src": "30093:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "30107:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "30107:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "30115:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "30115:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30103:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30103:3:84"
                          },
                          "nativeSrc": "30103:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30103:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "30093:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30093:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30131:19:84",
                        "nodeType": "YulAssignment",
                        "src": "30131:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "30142:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30142:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "30147:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "30147:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30138:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30138:3:84"
                          },
                          "nativeSrc": "30138:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30138:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "30131:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30131:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "29796:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "29796:1:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "29799:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29799:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29793:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29793:2:84"
                    },
                    "nativeSrc": "29793:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29793:13:84"
                  },
                  "nativeSrc": "29785:375:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29807:18:84",
                    "nodeType": "YulBlock",
                    "src": "29807:18:84",
                    "statements": [
                      {
                        "nativeSrc": "29809:14:84",
                        "nodeType": "YulAssignment",
                        "src": "29809:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "29818:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "29818:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29821:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29821:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29814:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29814:3:84"
                          },
                          "nativeSrc": "29814:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29814:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "29809:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "29809:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29789:3:84",
                    "nodeType": "YulBlock",
                    "src": "29789:3:84",
                    "statements": []
                  },
                  "src": "29785:375:84"
                },
                {
                  "nativeSrc": "30169:14:84",
                  "nodeType": "YulAssignment",
                  "src": "30169:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "30177:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "30177:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30169:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30169:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "29203:986:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29365:9:84",
                "nodeType": "YulTypedName",
                "src": "29365:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29376:6:84",
                "nodeType": "YulTypedName",
                "src": "29376:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29384:6:84",
                "nodeType": "YulTypedName",
                "src": "29384:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29392:6:84",
                "nodeType": "YulTypedName",
                "src": "29392:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29403:4:84",
                "nodeType": "YulTypedName",
                "src": "29403:4:84",
                "type": ""
              }
            ],
            "src": "29203:986:84"
          },
          {
            "body": {
              "nativeSrc": "30331:150:84",
              "nodeType": "YulBlock",
              "src": "30331:150:84",
              "statements": [
                {
                  "nativeSrc": "30341:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30341:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "30361:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30361:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30355:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30355:5:84"
                    },
                    "nativeSrc": "30355:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30355:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "30345:6:84",
                      "nodeType": "YulTypedName",
                      "src": "30345:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30416:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30416:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30424:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30424:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30412:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30412:3:84"
                        },
                        "nativeSrc": "30412:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30412:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "30431:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30431:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30436:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30436:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "30377:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "30377:34:84"
                    },
                    "nativeSrc": "30377:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30377:66:84"
                  },
                  "nativeSrc": "30377:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30377:66:84"
                },
                {
                  "nativeSrc": "30452:23:84",
                  "nodeType": "YulAssignment",
                  "src": "30452:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "30463:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30463:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30468:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30468:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30459:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30459:3:84"
                    },
                    "nativeSrc": "30459:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30459:16:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "30452:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30452:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "30194:287:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "30307:3:84",
                "nodeType": "YulTypedName",
                "src": "30307:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30312:6:84",
                "nodeType": "YulTypedName",
                "src": "30312:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "30323:3:84",
                "nodeType": "YulTypedName",
                "src": "30323:3:84",
                "type": ""
              }
            ],
            "src": "30194:287:84"
          },
          {
            "body": {
              "nativeSrc": "30550:425:84",
              "nodeType": "YulBlock",
              "src": "30550:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30599:16:84",
                    "nodeType": "YulBlock",
                    "src": "30599:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30608:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30608:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30611:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30611:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30601:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30601:6:84"
                          },
                          "nativeSrc": "30601:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30601:12:84"
                        },
                        "nativeSrc": "30601:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30601:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30578:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "30578:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30586:4:84",
                                "nodeType": "YulLiteral",
                                "src": "30586:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30574:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30574:3:84"
                            },
                            "nativeSrc": "30574:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30574:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "30593:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30593:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "30570:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30570:3:84"
                        },
                        "nativeSrc": "30570:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30570:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30563:6:84"
                    },
                    "nativeSrc": "30563:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30563:35:84"
                  },
                  "nativeSrc": "30560:55:84",
                  "nodeType": "YulIf",
                  "src": "30560:55:84"
                },
                {
                  "nativeSrc": "30624:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30624:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "30640:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30640:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30634:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30634:5:84"
                    },
                    "nativeSrc": "30634:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30634:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30628:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30628:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30656:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30656:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "30694:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30694:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "30666:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "30666:27:84"
                    },
                    "nativeSrc": "30666:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30666:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "30660:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30660:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30706:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30706:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30726:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30726:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30720:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30720:5:84"
                    },
                    "nativeSrc": "30720:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30720:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "30710:6:84",
                      "nodeType": "YulTypedName",
                      "src": "30710:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "30758:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30758:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "30766:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30766:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "30738:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "30738:19:84"
                    },
                    "nativeSrc": "30738:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30738:31:84"
                  },
                  "nativeSrc": "30738:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30738:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "30785:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30785:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30793:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30793:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30778:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30778:6:84"
                    },
                    "nativeSrc": "30778:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30778:18:84"
                  },
                  "nativeSrc": "30778:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30778:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "30844:16:84",
                    "nodeType": "YulBlock",
                    "src": "30844:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30853:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30853:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30856:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30856:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30846:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30846:6:84"
                          },
                          "nativeSrc": "30846:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30846:12:84"
                        },
                        "nativeSrc": "30846:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30846:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30819:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "30819:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "30827:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "30827:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30815:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30815:3:84"
                            },
                            "nativeSrc": "30815:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30815:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30832:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30832:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30811:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30811:3:84"
                        },
                        "nativeSrc": "30811:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30811:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "30839:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30839:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30808:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30808:2:84"
                    },
                    "nativeSrc": "30808:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30808:35:84"
                  },
                  "nativeSrc": "30805:55:84",
                  "nodeType": "YulIf",
                  "src": "30805:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "30908:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30908:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30916:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30916:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30904:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30904:3:84"
                        },
                        "nativeSrc": "30904:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30904:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "30927:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30927:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30935:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30935:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30923:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30923:3:84"
                        },
                        "nativeSrc": "30923:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30923:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30942:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30942:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "30869:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "30869:34:84"
                    },
                    "nativeSrc": "30869:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30869:76:84"
                  },
                  "nativeSrc": "30869:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30869:76:84"
                },
                {
                  "nativeSrc": "30954:15:84",
                  "nodeType": "YulAssignment",
                  "src": "30954:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "30963:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "30963:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "30954:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30954:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "30486:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "30524:6:84",
                "nodeType": "YulTypedName",
                "src": "30524:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "30532:3:84",
                "nodeType": "YulTypedName",
                "src": "30532:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "30540:5:84",
                "nodeType": "YulTypedName",
                "src": "30540:5:84",
                "type": ""
              }
            ],
            "src": "30486:489:84"
          },
          {
            "body": {
              "nativeSrc": "31071:246:84",
              "nodeType": "YulBlock",
              "src": "31071:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31117:16:84",
                    "nodeType": "YulBlock",
                    "src": "31117:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31126:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31126:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31129:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31129:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31119:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31119:6:84"
                          },
                          "nativeSrc": "31119:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31119:12:84"
                        },
                        "nativeSrc": "31119:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31119:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31092:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31092:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31101:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31101:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31088:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31088:3:84"
                        },
                        "nativeSrc": "31088:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31088:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31113:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31113:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31084:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31084:3:84"
                    },
                    "nativeSrc": "31084:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31084:32:84"
                  },
                  "nativeSrc": "31081:52:84",
                  "nodeType": "YulIf",
                  "src": "31081:52:84"
                },
                {
                  "nativeSrc": "31142:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31142:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31162:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31162:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31156:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31156:5:84"
                    },
                    "nativeSrc": "31156:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31156:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "31146:6:84",
                      "nodeType": "YulTypedName",
                      "src": "31146:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31215:16:84",
                    "nodeType": "YulBlock",
                    "src": "31215:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31224:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31224:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31227:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31227:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31217:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31217:6:84"
                          },
                          "nativeSrc": "31217:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31217:12:84"
                        },
                        "nativeSrc": "31217:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31217:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "31187:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31187:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31195:18:84",
                        "nodeType": "YulLiteral",
                        "src": "31195:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31184:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31184:2:84"
                    },
                    "nativeSrc": "31184:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31184:30:84"
                  },
                  "nativeSrc": "31181:50:84",
                  "nodeType": "YulIf",
                  "src": "31181:50:84"
                },
                {
                  "nativeSrc": "31240:71:84",
                  "nodeType": "YulAssignment",
                  "src": "31240:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31283:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31283:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "31294:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31294:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31279:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31279:3:84"
                        },
                        "nativeSrc": "31279:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31279:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "31303:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "31303:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "31250:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "31250:28:84"
                    },
                    "nativeSrc": "31250:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31250:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31240:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31240:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "30980:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31037:9:84",
                "nodeType": "YulTypedName",
                "src": "31037:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31048:7:84",
                "nodeType": "YulTypedName",
                "src": "31048:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31060:6:84",
                "nodeType": "YulTypedName",
                "src": "31060:6:84",
                "type": ""
              }
            ],
            "src": "30980:337:84"
          },
          {
            "body": {
              "nativeSrc": "31562:276:84",
              "nodeType": "YulBlock",
              "src": "31562:276:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "31579:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31579:3:84"
                      },
                      {
                        "hexValue": "5769746e657450726963654665656455706772616461626c653a20736f6c7665",
                        "kind": "string",
                        "nativeSrc": "31584:34:84",
                        "nodeType": "YulLiteral",
                        "src": "31584:34:84",
                        "type": "",
                        "value": "WitnetPriceFeedUpgradable: solve"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31572:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31572:6:84"
                    },
                    "nativeSrc": "31572:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31572:47:84"
                  },
                  "nativeSrc": "31572:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31572:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "31639:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31639:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31644:2:84",
                            "nodeType": "YulLiteral",
                            "src": "31644:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31635:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31635:3:84"
                        },
                        "nativeSrc": "31635:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31635:12:84"
                      },
                      {
                        "hexValue": "722076616c69646174696f6e206661696c65643a20",
                        "kind": "string",
                        "nativeSrc": "31649:23:84",
                        "nodeType": "YulLiteral",
                        "src": "31649:23:84",
                        "type": "",
                        "value": "r validation failed: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31628:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31628:6:84"
                    },
                    "nativeSrc": "31628:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31628:45:84"
                  },
                  "nativeSrc": "31628:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31628:45:84"
                },
                {
                  "nativeSrc": "31682:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31682:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "31702:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31702:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31696:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31696:5:84"
                    },
                    "nativeSrc": "31696:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31696:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "31686:6:84",
                      "nodeType": "YulTypedName",
                      "src": "31686:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "31757:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31757:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31765:2:84",
                            "nodeType": "YulLiteral",
                            "src": "31765:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31753:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31753:3:84"
                        },
                        "nativeSrc": "31753:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31753:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "31774:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31774:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31779:2:84",
                            "nodeType": "YulLiteral",
                            "src": "31779:2:84",
                            "type": "",
                            "value": "53"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31770:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31770:3:84"
                        },
                        "nativeSrc": "31770:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31770:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "31784:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31784:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31718:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31718:34:84"
                    },
                    "nativeSrc": "31718:73:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31718:73:84"
                  },
                  "nativeSrc": "31718:73:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31718:73:84"
                },
                {
                  "nativeSrc": "31800:32:84",
                  "nodeType": "YulAssignment",
                  "src": "31800:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "31815:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31815:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "31820:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31820:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31811:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31811:3:84"
                        },
                        "nativeSrc": "31811:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31811:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31829:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31829:2:84",
                        "type": "",
                        "value": "53"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31807:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31807:3:84"
                    },
                    "nativeSrc": "31807:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31807:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "31800:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31800:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_dc241c4a500633846bfe69d4463729475c0bff8d6bd4288914a8115310cb4ae0_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "31322:516:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "31538:3:84",
                "nodeType": "YulTypedName",
                "src": "31538:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31543:6:84",
                "nodeType": "YulTypedName",
                "src": "31543:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "31554:3:84",
                "nodeType": "YulTypedName",
                "src": "31554:3:84",
                "type": ""
              }
            ],
            "src": "31322:516:84"
          },
          {
            "body": {
              "nativeSrc": "32083:260:84",
              "nodeType": "YulBlock",
              "src": "32083:260:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "32100:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32100:3:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20736d6f6b652d7465737420666169",
                        "kind": "string",
                        "nativeSrc": "32105:34:84",
                        "nodeType": "YulLiteral",
                        "src": "32105:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: smoke-test fai"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32093:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32093:6:84"
                    },
                    "nativeSrc": "32093:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32093:47:84"
                  },
                  "nativeSrc": "32093:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32093:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "32160:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32160:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32165:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32165:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32156:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32156:3:84"
                        },
                        "nativeSrc": "32156:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32156:12:84"
                      },
                      {
                        "hexValue": "6c65643a20",
                        "kind": "string",
                        "nativeSrc": "32170:7:84",
                        "nodeType": "YulLiteral",
                        "src": "32170:7:84",
                        "type": "",
                        "value": "led: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32149:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32149:6:84"
                    },
                    "nativeSrc": "32149:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32149:29:84"
                  },
                  "nativeSrc": "32149:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32149:29:84"
                },
                {
                  "nativeSrc": "32187:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32187:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "32207:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "32207:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32201:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "32201:5:84"
                    },
                    "nativeSrc": "32201:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32201:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "32191:6:84",
                      "nodeType": "YulTypedName",
                      "src": "32191:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "32262:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32262:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32270:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32270:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32258:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32258:3:84"
                        },
                        "nativeSrc": "32258:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32258:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "32279:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32279:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32284:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32284:2:84",
                            "type": "",
                            "value": "37"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32275:3:84"
                        },
                        "nativeSrc": "32275:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32275:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "32289:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "32289:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "32223:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "32223:34:84"
                    },
                    "nativeSrc": "32223:73:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32223:73:84"
                  },
                  "nativeSrc": "32223:73:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32223:73:84"
                },
                {
                  "nativeSrc": "32305:32:84",
                  "nodeType": "YulAssignment",
                  "src": "32305:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "32320:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32320:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "32325:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32325:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32316:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32316:3:84"
                        },
                        "nativeSrc": "32316:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32316:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32334:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32334:2:84",
                        "type": "",
                        "value": "37"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32312:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32312:3:84"
                    },
                    "nativeSrc": "32312:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32312:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "32305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32305:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_1951bba37ae67239ce9350d517835ad4b982854d30580a7d3a830c8c7fa4da98_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "31843:500:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "32059:3:84",
                "nodeType": "YulTypedName",
                "src": "32059:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "32064:6:84",
                "nodeType": "YulTypedName",
                "src": "32064:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "32075:3:84",
                "nodeType": "YulTypedName",
                "src": "32075:3:84",
                "type": ""
              }
            ],
            "src": "31843:500:84"
          },
          {
            "body": {
              "nativeSrc": "32475:172:84",
              "nodeType": "YulBlock",
              "src": "32475:172:84",
              "statements": [
                {
                  "nativeSrc": "32485:26:84",
                  "nodeType": "YulAssignment",
                  "src": "32485:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32497:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32497:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32508:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32508:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32493:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32493:3:84"
                    },
                    "nativeSrc": "32493:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32493:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32485:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32485:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32527:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32527:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "32542:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32542:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "32554:3:84",
                                "nodeType": "YulLiteral",
                                "src": "32554:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32559:10:84",
                                "nodeType": "YulLiteral",
                                "src": "32559:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "32550:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32550:3:84"
                            },
                            "nativeSrc": "32550:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32550:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32538:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32538:3:84"
                        },
                        "nativeSrc": "32538:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32538:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32520:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32520:6:84"
                    },
                    "nativeSrc": "32520:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32520:52:84"
                  },
                  "nativeSrc": "32520:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32520:52:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32592:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32592:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32603:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32603:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32588:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32588:3:84"
                        },
                        "nativeSrc": "32588:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32588:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "32612:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32612:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32628:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32628:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32633:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32633:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "32624:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32624:3:84"
                                },
                                "nativeSrc": "32624:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32624:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32637:1:84",
                                "nodeType": "YulLiteral",
                                "src": "32637:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "32620:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32620:3:84"
                            },
                            "nativeSrc": "32620:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32620:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32608:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32608:3:84"
                        },
                        "nativeSrc": "32608:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32608:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32581:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32581:6:84"
                    },
                    "nativeSrc": "32581:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32581:60:84"
                  },
                  "nativeSrc": "32581:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32581:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_address__to_t_bytes4_t_address__fromStack_reversed",
            "nativeSrc": "32348:299:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32436:9:84",
                "nodeType": "YulTypedName",
                "src": "32436:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "32447:6:84",
                "nodeType": "YulTypedName",
                "src": "32447:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "32455:6:84",
                "nodeType": "YulTypedName",
                "src": "32455:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32466:4:84",
                "nodeType": "YulTypedName",
                "src": "32466:4:84",
                "type": ""
              }
            ],
            "src": "32348:299:84"
          },
          {
            "body": {
              "nativeSrc": "32741:170:84",
              "nodeType": "YulBlock",
              "src": "32741:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32787:16:84",
                    "nodeType": "YulBlock",
                    "src": "32787:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32796:1:84",
                              "nodeType": "YulLiteral",
                              "src": "32796:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32799:1:84",
                              "nodeType": "YulLiteral",
                              "src": "32799:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32789:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32789:6:84"
                          },
                          "nativeSrc": "32789:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32789:12:84"
                        },
                        "nativeSrc": "32789:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32789:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32762:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "32762:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32771:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32771:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32758:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32758:3:84"
                        },
                        "nativeSrc": "32758:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32758:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32783:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32783:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32754:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32754:3:84"
                    },
                    "nativeSrc": "32754:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32754:32:84"
                  },
                  "nativeSrc": "32751:52:84",
                  "nodeType": "YulIf",
                  "src": "32751:52:84"
                },
                {
                  "nativeSrc": "32812:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32812:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32831:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32831:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32825:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "32825:5:84"
                    },
                    "nativeSrc": "32825:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32825:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32816:5:84",
                      "nodeType": "YulTypedName",
                      "src": "32816:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32875:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "32875:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "32850:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "32850:24:84"
                    },
                    "nativeSrc": "32850:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32850:31:84"
                  },
                  "nativeSrc": "32850:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32850:31:84"
                },
                {
                  "nativeSrc": "32890:15:84",
                  "nodeType": "YulAssignment",
                  "src": "32890:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "32900:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "32900:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "32890:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32890:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payable_fromMemory",
            "nativeSrc": "32652:259:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32707:9:84",
                "nodeType": "YulTypedName",
                "src": "32707:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32718:7:84",
                "nodeType": "YulTypedName",
                "src": "32718:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32730:6:84",
                "nodeType": "YulTypedName",
                "src": "32730:6:84",
                "type": ""
              }
            ],
            "src": "32652:259:84"
          },
          {
            "body": {
              "nativeSrc": "33090:181:84",
              "nodeType": "YulBlock",
              "src": "33090:181:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33107:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33107:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33118:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33118:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33100:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33100:6:84"
                    },
                    "nativeSrc": "33100:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33100:21:84"
                  },
                  "nativeSrc": "33100:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33100:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33141:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33141:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33152:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33152:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33137:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33137:3:84"
                        },
                        "nativeSrc": "33137:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33137:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33157:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33157:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33130:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33130:6:84"
                    },
                    "nativeSrc": "33130:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33130:30:84"
                  },
                  "nativeSrc": "33130:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33130:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33180:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33180:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33191:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33191:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33176:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33176:3:84"
                        },
                        "nativeSrc": "33176:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33176:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f7420746865206f776e6572",
                        "kind": "string",
                        "nativeSrc": "33196:33:84",
                        "nodeType": "YulLiteral",
                        "src": "33196:33:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: not the owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33169:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33169:6:84"
                    },
                    "nativeSrc": "33169:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33169:61:84"
                  },
                  "nativeSrc": "33169:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33169:61:84"
                },
                {
                  "nativeSrc": "33239:26:84",
                  "nodeType": "YulAssignment",
                  "src": "33239:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33251:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33251:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33262:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33262:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33247:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33247:3:84"
                    },
                    "nativeSrc": "33247:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33247:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33239:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33239:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_25a8f932bd7bf38b2b2f405d5885a8a8d6779c383f082c44f88a7b89fe555607__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "32916:355:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33067:9:84",
                "nodeType": "YulTypedName",
                "src": "33067:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33081:4:84",
                "nodeType": "YulTypedName",
                "src": "33081:4:84",
                "type": ""
              }
            ],
            "src": "32916:355:84"
          },
          {
            "body": {
              "nativeSrc": "33450:224:84",
              "nodeType": "YulBlock",
              "src": "33450:224:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33467:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33467:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33478:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33478:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33460:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33460:6:84"
                    },
                    "nativeSrc": "33460:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33460:21:84"
                  },
                  "nativeSrc": "33460:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33460:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33501:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33501:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33512:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33512:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33497:3:84"
                        },
                        "nativeSrc": "33497:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33497:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33517:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33517:2:84",
                        "type": "",
                        "value": "34"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33490:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33490:6:84"
                    },
                    "nativeSrc": "33490:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33490:30:84"
                  },
                  "nativeSrc": "33490:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33490:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33540:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33540:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33551:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33551:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33536:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33536:3:84"
                        },
                        "nativeSrc": "33536:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33536:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20616c726561647920757067726164",
                        "kind": "string",
                        "nativeSrc": "33556:34:84",
                        "nodeType": "YulLiteral",
                        "src": "33556:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: already upgrad"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33529:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33529:6:84"
                    },
                    "nativeSrc": "33529:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33529:62:84"
                  },
                  "nativeSrc": "33529:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33529:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33622:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33607:3:84"
                        },
                        "nativeSrc": "33607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33607:18:84"
                      },
                      {
                        "hexValue": "6564",
                        "kind": "string",
                        "nativeSrc": "33627:4:84",
                        "nodeType": "YulLiteral",
                        "src": "33627:4:84",
                        "type": "",
                        "value": "ed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33600:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33600:6:84"
                    },
                    "nativeSrc": "33600:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33600:32:84"
                  },
                  "nativeSrc": "33600:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33600:32:84"
                },
                {
                  "nativeSrc": "33641:27:84",
                  "nodeType": "YulAssignment",
                  "src": "33641:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33653:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33653:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33664:3:84",
                        "nodeType": "YulLiteral",
                        "src": "33664:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33649:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33649:3:84"
                    },
                    "nativeSrc": "33649:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33649:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33641:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33641:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_eb28d0d973b4e218f93b9701d8218a106926279c50f87a5e2343f9fb52faf0ba__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "33276:398:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33427:9:84",
                "nodeType": "YulTypedName",
                "src": "33427:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33441:4:84",
                "nodeType": "YulTypedName",
                "src": "33441:4:84",
                "type": ""
              }
            ],
            "src": "33276:398:84"
          },
          {
            "body": {
              "nativeSrc": "33853:225:84",
              "nodeType": "YulBlock",
              "src": "33853:225:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33870:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33870:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33881:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33881:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33863:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33863:6:84"
                    },
                    "nativeSrc": "33863:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33863:21:84"
                  },
                  "nativeSrc": "33863:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33863:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33904:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33904:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33915:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33915:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33900:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33900:3:84"
                        },
                        "nativeSrc": "33900:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33900:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33920:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33920:2:84",
                        "type": "",
                        "value": "35"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33893:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33893:6:84"
                    },
                    "nativeSrc": "33893:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33893:30:84"
                  },
                  "nativeSrc": "33893:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33893:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33943:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33943:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33954:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33954:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33939:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33939:3:84"
                        },
                        "nativeSrc": "33939:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33939:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20696e6578697374656e74206f7261",
                        "kind": "string",
                        "nativeSrc": "33959:34:84",
                        "nodeType": "YulLiteral",
                        "src": "33959:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: inexistent ora"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33932:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33932:6:84"
                    },
                    "nativeSrc": "33932:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33932:62:84"
                  },
                  "nativeSrc": "33932:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33932:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34014:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34014:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34025:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34025:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34010:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34010:3:84"
                        },
                        "nativeSrc": "34010:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34010:18:84"
                      },
                      {
                        "hexValue": "636c65",
                        "kind": "string",
                        "nativeSrc": "34030:5:84",
                        "nodeType": "YulLiteral",
                        "src": "34030:5:84",
                        "type": "",
                        "value": "cle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34003:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34003:6:84"
                    },
                    "nativeSrc": "34003:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34003:33:84"
                  },
                  "nativeSrc": "34003:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34003:33:84"
                },
                {
                  "nativeSrc": "34045:27:84",
                  "nodeType": "YulAssignment",
                  "src": "34045:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34057:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34057:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34068:3:84",
                        "nodeType": "YulLiteral",
                        "src": "34068:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34053:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34053:3:84"
                    },
                    "nativeSrc": "34053:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34053:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34045:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34045:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f4d0471bc6079bdf2bf8c27b594762f1474bc67c5c6b0a4bf786c1721e4c2875__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "33679:399:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33830:9:84",
                "nodeType": "YulTypedName",
                "src": "33830:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33844:4:84",
                "nodeType": "YulTypedName",
                "src": "33844:4:84",
                "type": ""
              }
            ],
            "src": "33679:399:84"
          },
          {
            "body": {
              "nativeSrc": "34163:169:84",
              "nodeType": "YulBlock",
              "src": "34163:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34209:16:84",
                    "nodeType": "YulBlock",
                    "src": "34209:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34218:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34218:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34221:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34221:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34211:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34211:6:84"
                          },
                          "nativeSrc": "34211:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34211:12:84"
                        },
                        "nativeSrc": "34211:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34211:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34184:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34184:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34193:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34193:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34180:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34180:3:84"
                        },
                        "nativeSrc": "34180:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34180:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34205:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34205:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34176:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34176:3:84"
                    },
                    "nativeSrc": "34176:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34176:32:84"
                  },
                  "nativeSrc": "34173:52:84",
                  "nodeType": "YulIf",
                  "src": "34173:52:84"
                },
                {
                  "nativeSrc": "34234:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34234:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34253:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34253:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34247:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34247:5:84"
                    },
                    "nativeSrc": "34247:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34247:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "34238:5:84",
                      "nodeType": "YulTypedName",
                      "src": "34238:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "34296:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "34296:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "34272:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "34272:23:84"
                    },
                    "nativeSrc": "34272:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34272:30:84"
                  },
                  "nativeSrc": "34272:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34272:30:84"
                },
                {
                  "nativeSrc": "34311:15:84",
                  "nodeType": "YulAssignment",
                  "src": "34311:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "34321:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "34321:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34311:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34311:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "34083:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34129:9:84",
                "nodeType": "YulTypedName",
                "src": "34129:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34140:7:84",
                "nodeType": "YulTypedName",
                "src": "34140:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34152:6:84",
                "nodeType": "YulTypedName",
                "src": "34152:6:84",
                "type": ""
              }
            ],
            "src": "34083:249:84"
          },
          {
            "body": {
              "nativeSrc": "34511:226:84",
              "nodeType": "YulBlock",
              "src": "34511:226:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34528:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34528:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34539:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34539:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34521:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34521:6:84"
                    },
                    "nativeSrc": "34521:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34521:21:84"
                  },
                  "nativeSrc": "34521:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34521:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34562:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34562:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34573:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34573:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34558:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34558:3:84"
                        },
                        "nativeSrc": "34558:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34558:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34578:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34578:2:84",
                        "type": "",
                        "value": "36"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34551:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34551:6:84"
                    },
                    "nativeSrc": "34551:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34551:30:84"
                  },
                  "nativeSrc": "34551:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34551:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34601:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34601:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34612:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34612:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34597:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34597:3:84"
                        },
                        "nativeSrc": "34597:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34597:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e636f6d706c69616e74206f72",
                        "kind": "string",
                        "nativeSrc": "34617:34:84",
                        "nodeType": "YulLiteral",
                        "src": "34617:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: uncompliant or"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34590:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34590:6:84"
                    },
                    "nativeSrc": "34590:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34590:62:84"
                  },
                  "nativeSrc": "34590:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34590:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34672:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34672:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34683:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34683:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34668:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34668:3:84"
                        },
                        "nativeSrc": "34668:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34668:18:84"
                      },
                      {
                        "hexValue": "61636c65",
                        "kind": "string",
                        "nativeSrc": "34688:6:84",
                        "nodeType": "YulLiteral",
                        "src": "34688:6:84",
                        "type": "",
                        "value": "acle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34661:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34661:6:84"
                    },
                    "nativeSrc": "34661:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34661:34:84"
                  },
                  "nativeSrc": "34661:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34661:34:84"
                },
                {
                  "nativeSrc": "34704:27:84",
                  "nodeType": "YulAssignment",
                  "src": "34704:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34716:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34716:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34727:3:84",
                        "nodeType": "YulLiteral",
                        "src": "34727:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34712:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34712:3:84"
                    },
                    "nativeSrc": "34712:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34712:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34704:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34704:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_6aadda5693daf7de03647a8802b17fb8d9d9e036da1f9584c6fc2dc836b66a86__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "34337:400:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34488:9:84",
                "nodeType": "YulTypedName",
                "src": "34488:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34502:4:84",
                "nodeType": "YulTypedName",
                "src": "34502:4:84",
                "type": ""
              }
            ],
            "src": "34337:400:84"
          },
          {
            "body": {
              "nativeSrc": "34853:674:84",
              "nodeType": "YulBlock",
              "src": "34853:674:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34899:16:84",
                    "nodeType": "YulBlock",
                    "src": "34899:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34908:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34911:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34911:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34901:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34901:6:84"
                          },
                          "nativeSrc": "34901:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34901:12:84"
                        },
                        "nativeSrc": "34901:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34901:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34874:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34874:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34883:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34883:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34870:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34870:3:84"
                        },
                        "nativeSrc": "34870:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34870:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34895:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34895:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34866:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34866:3:84"
                    },
                    "nativeSrc": "34866:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34866:32:84"
                  },
                  "nativeSrc": "34863:52:84",
                  "nodeType": "YulIf",
                  "src": "34863:52:84"
                },
                {
                  "nativeSrc": "34924:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34924:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34944:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34944:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34938:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34938:5:84"
                    },
                    "nativeSrc": "34938:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34938:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "34928:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34928:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34963:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34963:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34973:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34973:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34967:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34967:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35018:16:84",
                    "nodeType": "YulBlock",
                    "src": "35018:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35027:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35027:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35030:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35030:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35020:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35020:6:84"
                          },
                          "nativeSrc": "35020:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35020:12:84"
                        },
                        "nativeSrc": "35020:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35020:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35006:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35014:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35014:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35003:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35003:2:84"
                    },
                    "nativeSrc": "35003:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35003:14:84"
                  },
                  "nativeSrc": "35000:34:84",
                  "nodeType": "YulIf",
                  "src": "35000:34:84"
                },
                {
                  "nativeSrc": "35043:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35043:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35057:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35057:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "35068:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35068:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35053:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35053:3:84"
                    },
                    "nativeSrc": "35053:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35053:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35047:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35047:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35115:16:84",
                    "nodeType": "YulBlock",
                    "src": "35115:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35124:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35124:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35127:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35127:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35117:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35117:6:84"
                          },
                          "nativeSrc": "35117:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35117:12:84"
                        },
                        "nativeSrc": "35117:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35117:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35095:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35095:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "35104:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35104:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35091:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35091:3:84"
                        },
                        "nativeSrc": "35091:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35091:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35109:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35109:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35087:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35087:3:84"
                    },
                    "nativeSrc": "35087:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35087:27:84"
                  },
                  "nativeSrc": "35084:47:84",
                  "nodeType": "YulIf",
                  "src": "35084:47:84"
                },
                {
                  "nativeSrc": "35140:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35140:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35160:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35160:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35154:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35154:5:84"
                    },
                    "nativeSrc": "35154:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35154:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "35144:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35144:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35199:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35199:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_9064",
                      "nativeSrc": "35174:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "35174:24:84"
                    },
                    "nativeSrc": "35174:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35174:32:84"
                  },
                  "nativeSrc": "35174:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35174:32:84"
                },
                {
                  "nativeSrc": "35215:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35215:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "35234:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35234:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35228:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35228:5:84"
                    },
                    "nativeSrc": "35228:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35228:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35219:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35219:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35272:16:84",
                    "nodeType": "YulBlock",
                    "src": "35272:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35281:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35281:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35284:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35284:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35274:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35274:6:84"
                          },
                          "nativeSrc": "35274:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35274:12:84"
                        },
                        "nativeSrc": "35274:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35274:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35259:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "35259:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35266:3:84",
                            "nodeType": "YulLiteral",
                            "src": "35266:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35256:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35256:2:84"
                        },
                        "nativeSrc": "35256:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35256:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35249:6:84"
                    },
                    "nativeSrc": "35249:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35249:22:84"
                  },
                  "nativeSrc": "35246:42:84",
                  "nodeType": "YulIf",
                  "src": "35246:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35304:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35304:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "35312:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35312:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35297:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35297:6:84"
                    },
                    "nativeSrc": "35297:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35297:21:84"
                  },
                  "nativeSrc": "35297:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35297:21:84"
                },
                {
                  "nativeSrc": "35327:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35327:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "35353:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35353:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35357:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35357:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35349:3:84"
                        },
                        "nativeSrc": "35349:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35349:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35343:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35343:5:84"
                    },
                    "nativeSrc": "35343:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35343:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "35331:8:84",
                      "nodeType": "YulTypedName",
                      "src": "35331:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35390:16:84",
                    "nodeType": "YulBlock",
                    "src": "35390:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35399:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35399:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35402:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35392:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35392:6:84"
                          },
                          "nativeSrc": "35392:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35392:12:84"
                        },
                        "nativeSrc": "35392:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35392:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "35376:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "35376:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35386:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35386:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35373:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35373:2:84"
                    },
                    "nativeSrc": "35373:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35373:16:84"
                  },
                  "nativeSrc": "35370:36:84",
                  "nodeType": "YulIf",
                  "src": "35370:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35426:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35426:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35434:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35434:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35422:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35422:3:84"
                        },
                        "nativeSrc": "35422:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35422:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "35472:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "35472:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "35476:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "35476:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35468:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35468:3:84"
                            },
                            "nativeSrc": "35468:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35468:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35487:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35487:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "35439:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "35439:28:84"
                        },
                        "nativeSrc": "35439:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35439:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35415:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35415:6:84"
                    },
                    "nativeSrc": "35415:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35415:81:84"
                  },
                  "nativeSrc": "35415:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35415:81:84"
                },
                {
                  "nativeSrc": "35505:16:84",
                  "nodeType": "YulAssignment",
                  "src": "35505:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "35515:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "35515:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35505:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35505:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "34742:785:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34819:9:84",
                "nodeType": "YulTypedName",
                "src": "34819:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34830:7:84",
                "nodeType": "YulTypedName",
                "src": "34830:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34842:6:84",
                "nodeType": "YulTypedName",
                "src": "34842:6:84",
                "type": ""
              }
            ],
            "src": "34742:785:84"
          },
          {
            "body": {
              "nativeSrc": "35706:179:84",
              "nodeType": "YulBlock",
              "src": "35706:179:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35723:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35723:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35734:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35734:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35716:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35716:6:84"
                    },
                    "nativeSrc": "35716:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35716:21:84"
                  },
                  "nativeSrc": "35716:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35716:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35757:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "35757:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35768:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35768:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35753:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35753:3:84"
                        },
                        "nativeSrc": "35753:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35753:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35773:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35773:2:84",
                        "type": "",
                        "value": "29"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35746:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35746:6:84"
                    },
                    "nativeSrc": "35746:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35746:30:84"
                  },
                  "nativeSrc": "35746:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35746:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35796:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "35796:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35807:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35807:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35792:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35792:3:84"
                        },
                        "nativeSrc": "35792:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35792:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f205241442068617368",
                        "kind": "string",
                        "nativeSrc": "35812:31:84",
                        "nodeType": "YulLiteral",
                        "src": "35812:31:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: no RAD hash"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35785:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35785:6:84"
                    },
                    "nativeSrc": "35785:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35785:59:84"
                  },
                  "nativeSrc": "35785:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35785:59:84"
                },
                {
                  "nativeSrc": "35853:26:84",
                  "nodeType": "YulAssignment",
                  "src": "35853:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35865:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35865:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35876:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35876:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35861:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35861:3:84"
                    },
                    "nativeSrc": "35861:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35861:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "35853:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "35853:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_64a4ffcfcea2db7a28cfbd9db64548d124406535e468937bb05d697f6a65148a__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "35532:353:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35683:9:84",
                "nodeType": "YulTypedName",
                "src": "35683:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "35697:4:84",
                "nodeType": "YulTypedName",
                "src": "35697:4:84",
                "type": ""
              }
            ],
            "src": "35532:353:84"
          },
          {
            "body": {
              "nativeSrc": "35980:246:84",
              "nodeType": "YulBlock",
              "src": "35980:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36026:16:84",
                    "nodeType": "YulBlock",
                    "src": "36026:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36035:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36035:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36038:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36038:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36028:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36028:6:84"
                          },
                          "nativeSrc": "36028:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36028:12:84"
                        },
                        "nativeSrc": "36028:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36028:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "36001:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "36001:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "36010:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36010:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35997:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35997:3:84"
                        },
                        "nativeSrc": "35997:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35997:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36022:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36022:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35993:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35993:3:84"
                    },
                    "nativeSrc": "35993:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35993:32:84"
                  },
                  "nativeSrc": "35990:52:84",
                  "nodeType": "YulIf",
                  "src": "35990:52:84"
                },
                {
                  "nativeSrc": "36051:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36051:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36071:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36071:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36065:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36065:5:84"
                    },
                    "nativeSrc": "36065:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36065:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "36055:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36055:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36124:16:84",
                    "nodeType": "YulBlock",
                    "src": "36124:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36133:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36133:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36136:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36136:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36126:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36126:6:84"
                          },
                          "nativeSrc": "36126:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36126:12:84"
                        },
                        "nativeSrc": "36126:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36126:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36096:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36096:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36104:18:84",
                        "nodeType": "YulLiteral",
                        "src": "36104:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36093:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36093:2:84"
                    },
                    "nativeSrc": "36093:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36093:30:84"
                  },
                  "nativeSrc": "36090:50:84",
                  "nodeType": "YulIf",
                  "src": "36090:50:84"
                },
                {
                  "nativeSrc": "36149:71:84",
                  "nodeType": "YulAssignment",
                  "src": "36149:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36192:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36192:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "36203:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36203:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36188:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36188:3:84"
                        },
                        "nativeSrc": "36188:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36188:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "36212:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "36212:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "36159:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "36159:28:84"
                    },
                    "nativeSrc": "36159:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36159:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "36149:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36149:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory",
            "nativeSrc": "35890:336:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35946:9:84",
                "nodeType": "YulTypedName",
                "src": "35946:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "35957:7:84",
                "nodeType": "YulTypedName",
                "src": "35957:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "35969:6:84",
                "nodeType": "YulTypedName",
                "src": "35969:6:84",
                "type": ""
              }
            ],
            "src": "35890:336:84"
          },
          {
            "body": {
              "nativeSrc": "36342:170:84",
              "nodeType": "YulBlock",
              "src": "36342:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36388:16:84",
                    "nodeType": "YulBlock",
                    "src": "36388:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36397:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36397:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36400:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36400:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36390:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36390:6:84"
                          },
                          "nativeSrc": "36390:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36390:12:84"
                        },
                        "nativeSrc": "36390:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36390:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "36363:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "36363:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "36372:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36372:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "36359:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36359:3:84"
                        },
                        "nativeSrc": "36359:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36359:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36384:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36384:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "36355:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36355:3:84"
                    },
                    "nativeSrc": "36355:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36355:32:84"
                  },
                  "nativeSrc": "36352:52:84",
                  "nodeType": "YulIf",
                  "src": "36352:52:84"
                },
                {
                  "nativeSrc": "36413:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36413:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36432:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36432:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36426:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36426:5:84"
                    },
                    "nativeSrc": "36426:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36426:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "36417:5:84",
                      "nodeType": "YulTypedName",
                      "src": "36417:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "36476:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "36476:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "36451:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "36451:24:84"
                    },
                    "nativeSrc": "36451:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36451:31:84"
                  },
                  "nativeSrc": "36451:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36451:31:84"
                },
                {
                  "nativeSrc": "36491:15:84",
                  "nodeType": "YulAssignment",
                  "src": "36491:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "36501:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "36501:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "36491:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36491:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory",
            "nativeSrc": "36231:281:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36308:9:84",
                "nodeType": "YulTypedName",
                "src": "36308:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "36319:7:84",
                "nodeType": "YulTypedName",
                "src": "36319:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "36331:6:84",
                "nodeType": "YulTypedName",
                "src": "36331:6:84",
                "type": ""
              }
            ],
            "src": "36231:281:84"
          },
          {
            "body": {
              "nativeSrc": "36586:114:84",
              "nodeType": "YulBlock",
              "src": "36586:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36630:22:84",
                    "nodeType": "YulBlock",
                    "src": "36630:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "36632:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "36632:16:84"
                          },
                          "nativeSrc": "36632:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36632:18:84"
                        },
                        "nativeSrc": "36632:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36632:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "36602:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36602:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36610:18:84",
                        "nodeType": "YulLiteral",
                        "src": "36610:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36599:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36599:2:84"
                    },
                    "nativeSrc": "36599:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36599:30:84"
                  },
                  "nativeSrc": "36596:56:84",
                  "nodeType": "YulIf",
                  "src": "36596:56:84"
                },
                {
                  "nativeSrc": "36661:33:84",
                  "nodeType": "YulAssignment",
                  "src": "36661:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "36677:1:84",
                            "nodeType": "YulLiteral",
                            "src": "36677:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "36680:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36680:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "36673:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36673:3:84"
                        },
                        "nativeSrc": "36673:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36673:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36689:4:84",
                        "nodeType": "YulLiteral",
                        "src": "36689:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36669:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36669:3:84"
                    },
                    "nativeSrc": "36669:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36669:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "36661:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "36661:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_bytes32_dyn",
            "nativeSrc": "36517:183:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "36566:6:84",
                "nodeType": "YulTypedName",
                "src": "36566:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "36577:4:84",
                "nodeType": "YulTypedName",
                "src": "36577:4:84",
                "type": ""
              }
            ],
            "src": "36517:183:84"
          },
          {
            "body": {
              "nativeSrc": "36811:837:84",
              "nodeType": "YulBlock",
              "src": "36811:837:84",
              "statements": [
                {
                  "nativeSrc": "36821:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36821:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36831:2:84",
                    "nodeType": "YulLiteral",
                    "src": "36831:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36825:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36825:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36878:16:84",
                    "nodeType": "YulBlock",
                    "src": "36878:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36887:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36887:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36890:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36890:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36880:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36880:6:84"
                          },
                          "nativeSrc": "36880:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36880:12:84"
                        },
                        "nativeSrc": "36880:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36880:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "36853:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "36853:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "36862:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36862:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "36849:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36849:3:84"
                        },
                        "nativeSrc": "36849:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36849:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "36874:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36874:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "36845:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36845:3:84"
                    },
                    "nativeSrc": "36845:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36845:32:84"
                  },
                  "nativeSrc": "36842:52:84",
                  "nodeType": "YulIf",
                  "src": "36842:52:84"
                },
                {
                  "nativeSrc": "36903:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36903:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36923:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36923:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36917:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36917:5:84"
                    },
                    "nativeSrc": "36917:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36917:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "36907:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36907:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36976:16:84",
                    "nodeType": "YulBlock",
                    "src": "36976:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36985:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36988:1:84",
                              "nodeType": "YulLiteral",
                              "src": "36988:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36978:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36978:6:84"
                          },
                          "nativeSrc": "36978:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36978:12:84"
                        },
                        "nativeSrc": "36978:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36978:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36948:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36948:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36956:18:84",
                        "nodeType": "YulLiteral",
                        "src": "36956:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36945:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36945:2:84"
                    },
                    "nativeSrc": "36945:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36945:30:84"
                  },
                  "nativeSrc": "36942:50:84",
                  "nodeType": "YulIf",
                  "src": "36942:50:84"
                },
                {
                  "nativeSrc": "37001:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37001:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37015:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37015:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "37026:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37026:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37011:3:84"
                    },
                    "nativeSrc": "37011:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37011:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "37005:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37005:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37081:16:84",
                    "nodeType": "YulBlock",
                    "src": "37081:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37090:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37093:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37093:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37083:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37083:6:84"
                          },
                          "nativeSrc": "37083:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37083:12:84"
                        },
                        "nativeSrc": "37083:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37083:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "37060:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "37060:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37064:4:84",
                                "nodeType": "YulLiteral",
                                "src": "37064:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37056:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37056:3:84"
                            },
                            "nativeSrc": "37056:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37056:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37071:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "37071:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "37052:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37052:3:84"
                        },
                        "nativeSrc": "37052:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37052:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "37045:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37045:6:84"
                    },
                    "nativeSrc": "37045:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37045:35:84"
                  },
                  "nativeSrc": "37042:55:84",
                  "nodeType": "YulIf",
                  "src": "37042:55:84"
                },
                {
                  "nativeSrc": "37106:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37106:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "37122:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37122:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37116:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37116:5:84"
                    },
                    "nativeSrc": "37116:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37116:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "37110:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37110:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37134:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37134:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "37184:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37184:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes32_dyn",
                      "nativeSrc": "37144:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "37144:39:84"
                    },
                    "nativeSrc": "37144:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37144:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "37138:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37138:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37196:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37196:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37216:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37216:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37210:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37210:5:84"
                    },
                    "nativeSrc": "37210:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37210:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "37200:6:84",
                      "nodeType": "YulTypedName",
                      "src": "37200:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "37248:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37248:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "37256:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37256:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "37228:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "37228:19:84"
                    },
                    "nativeSrc": "37228:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37228:31:84"
                  },
                  "nativeSrc": "37228:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37228:31:84"
                },
                {
                  "nativeSrc": "37268:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37268:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "37279:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "37279:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "37272:3:84",
                      "nodeType": "YulTypedName",
                      "src": "37272:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "37301:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37301:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "37309:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37309:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37294:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37294:6:84"
                    },
                    "nativeSrc": "37294:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37294:18:84"
                  },
                  "nativeSrc": "37294:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37294:18:84"
                },
                {
                  "nativeSrc": "37321:22:84",
                  "nodeType": "YulAssignment",
                  "src": "37321:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "37332:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37332:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37340:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37340:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37328:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37328:3:84"
                    },
                    "nativeSrc": "37328:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37328:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "37321:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37321:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "37352:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37352:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "37374:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37374:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37382:1:84",
                                "nodeType": "YulLiteral",
                                "src": "37382:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "37385:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "37385:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "37378:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37378:3:84"
                            },
                            "nativeSrc": "37378:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37378:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37370:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37370:3:84"
                        },
                        "nativeSrc": "37370:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37370:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37391:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37391:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37366:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37366:3:84"
                    },
                    "nativeSrc": "37366:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37366:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "37356:6:84",
                      "nodeType": "YulTypedName",
                      "src": "37356:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37426:16:84",
                    "nodeType": "YulBlock",
                    "src": "37426:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37435:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37435:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37438:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37438:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37428:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37428:6:84"
                          },
                          "nativeSrc": "37428:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37428:12:84"
                        },
                        "nativeSrc": "37428:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37428:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "37409:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37409:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "37417:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "37417:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37406:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "37406:2:84"
                    },
                    "nativeSrc": "37406:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37406:19:84"
                  },
                  "nativeSrc": "37403:39:84",
                  "nodeType": "YulIf",
                  "src": "37403:39:84"
                },
                {
                  "nativeSrc": "37451:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37451:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "37466:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37466:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37470:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37470:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37462:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37462:3:84"
                    },
                    "nativeSrc": "37462:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37462:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "37455:3:84",
                      "nodeType": "YulTypedName",
                      "src": "37455:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37538:79:84",
                    "nodeType": "YulBlock",
                    "src": "37538:79:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "37559:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37559:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "src",
                                  "nativeSrc": "37570:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "37570:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "37564:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "37564:5:84"
                              },
                              "nativeSrc": "37564:10:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37564:10:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "37552:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37552:6:84"
                          },
                          "nativeSrc": "37552:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37552:23:84"
                        },
                        "nativeSrc": "37552:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37552:23:84"
                      },
                      {
                        "nativeSrc": "37588:19:84",
                        "nodeType": "YulAssignment",
                        "src": "37588:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "37599:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37599:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "37604:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "37604:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37595:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37595:3:84"
                          },
                          "nativeSrc": "37595:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37595:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "37588:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37588:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "37493:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "37493:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "37498:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37498:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "37490:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "37490:2:84"
                    },
                    "nativeSrc": "37490:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37490:15:84"
                  },
                  "nativeSrc": "37482:135:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "37506:23:84",
                    "nodeType": "YulBlock",
                    "src": "37506:23:84",
                    "statements": [
                      {
                        "nativeSrc": "37508:19:84",
                        "nodeType": "YulAssignment",
                        "src": "37508:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "37519:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37519:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "37524:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "37524:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37515:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37515:3:84"
                          },
                          "nativeSrc": "37515:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37515:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "37508:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37508:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "37486:3:84",
                    "nodeType": "YulBlock",
                    "src": "37486:3:84",
                    "statements": []
                  },
                  "src": "37482:135:84"
                },
                {
                  "nativeSrc": "37626:16:84",
                  "nodeType": "YulAssignment",
                  "src": "37626:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "37636:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "37636:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "37626:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37626:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "36705:943:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36777:9:84",
                "nodeType": "YulTypedName",
                "src": "36777:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "36788:7:84",
                "nodeType": "YulTypedName",
                "src": "36788:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "36800:6:84",
                "nodeType": "YulTypedName",
                "src": "36800:6:84",
                "type": ""
              }
            ],
            "src": "36705:943:84"
          },
          {
            "body": {
              "nativeSrc": "37696:71:84",
              "nodeType": "YulBlock",
              "src": "37696:71:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37745:16:84",
                    "nodeType": "YulBlock",
                    "src": "37745:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37754:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37754:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37757:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37757:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37747:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37747:6:84"
                          },
                          "nativeSrc": "37747:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37747:12:84"
                        },
                        "nativeSrc": "37747:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37747:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "37719:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "37719:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "37730:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "37730:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37737:4:84",
                                "nodeType": "YulLiteral",
                                "src": "37737:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "37726:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37726:3:84"
                            },
                            "nativeSrc": "37726:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37726:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "37716:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "37716:2:84"
                        },
                        "nativeSrc": "37716:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37716:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "37709:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37709:6:84"
                    },
                    "nativeSrc": "37709:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37709:35:84"
                  },
                  "nativeSrc": "37706:55:84",
                  "nodeType": "YulIf",
                  "src": "37706:55:84"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "37653:114:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "37685:5:84",
                "nodeType": "YulTypedName",
                "src": "37685:5:84",
                "type": ""
              }
            ],
            "src": "37653:114:84"
          },
          {
            "body": {
              "nativeSrc": "37830:76:84",
              "nodeType": "YulBlock",
              "src": "37830:76:84",
              "statements": [
                {
                  "nativeSrc": "37840:22:84",
                  "nodeType": "YulAssignment",
                  "src": "37840:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37855:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37855:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37849:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37849:5:84"
                    },
                    "nativeSrc": "37849:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37849:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "37840:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37840:5:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "37894:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "37894:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "37871:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "37871:22:84"
                    },
                    "nativeSrc": "37871:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37871:29:84"
                  },
                  "nativeSrc": "37871:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37871:29:84"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "37772:134:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "37809:6:84",
                "nodeType": "YulTypedName",
                "src": "37809:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "37820:5:84",
                "nodeType": "YulTypedName",
                "src": "37820:5:84",
                "type": ""
              }
            ],
            "src": "37772:134:84"
          },
          {
            "body": {
              "nativeSrc": "37992:87:84",
              "nodeType": "YulBlock",
              "src": "37992:87:84",
              "statements": [
                {
                  "nativeSrc": "38002:22:84",
                  "nodeType": "YulAssignment",
                  "src": "38002:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "38017:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38017:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38011:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38011:5:84"
                    },
                    "nativeSrc": "38011:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38011:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "38002:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38002:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38057:16:84",
                    "nodeType": "YulBlock",
                    "src": "38057:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38066:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38066:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38069:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38069:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38059:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38059:6:84"
                          },
                          "nativeSrc": "38059:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38059:12:84"
                        },
                        "nativeSrc": "38059:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38059:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "38046:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "38046:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38053:1:84",
                            "nodeType": "YulLiteral",
                            "src": "38053:1:84",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "38043:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38043:2:84"
                        },
                        "nativeSrc": "38043:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38043:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38036:6:84"
                    },
                    "nativeSrc": "38036:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38036:20:84"
                  },
                  "nativeSrc": "38033:40:84",
                  "nodeType": "YulIf",
                  "src": "38033:40:84"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataRequestMethods_fromMemory",
            "nativeSrc": "37911:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "37971:6:84",
                "nodeType": "YulTypedName",
                "src": "37971:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "37982:5:84",
                "nodeType": "YulTypedName",
                "src": "37982:5:84",
                "type": ""
              }
            ],
            "src": "37911:168:84"
          },
          {
            "body": {
              "nativeSrc": "38156:88:84",
              "nodeType": "YulBlock",
              "src": "38156:88:84",
              "statements": [
                {
                  "nativeSrc": "38166:22:84",
                  "nodeType": "YulAssignment",
                  "src": "38166:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "38181:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38181:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38175:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38175:5:84"
                    },
                    "nativeSrc": "38175:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38175:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "38166:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38166:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38222:16:84",
                    "nodeType": "YulBlock",
                    "src": "38222:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38231:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38231:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38234:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38234:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38224:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38224:6:84"
                          },
                          "nativeSrc": "38224:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38224:12:84"
                        },
                        "nativeSrc": "38224:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38224:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "38210:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "38210:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38217:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38217:2:84",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "38207:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38207:2:84"
                        },
                        "nativeSrc": "38207:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38207:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38200:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38200:6:84"
                    },
                    "nativeSrc": "38200:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38200:21:84"
                  },
                  "nativeSrc": "38197:41:84",
                  "nodeType": "YulIf",
                  "src": "38197:41:84"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes_fromMemory",
            "nativeSrc": "38084:160:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "38135:6:84",
                "nodeType": "YulTypedName",
                "src": "38135:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "38146:5:84",
                "nodeType": "YulTypedName",
                "src": "38146:5:84",
                "type": ""
              }
            ],
            "src": "38084:160:84"
          },
          {
            "body": {
              "nativeSrc": "38329:1772:84",
              "nodeType": "YulBlock",
              "src": "38329:1772:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38378:16:84",
                    "nodeType": "YulBlock",
                    "src": "38378:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38387:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38387:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38390:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38390:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38380:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38380:6:84"
                          },
                          "nativeSrc": "38380:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38380:12:84"
                        },
                        "nativeSrc": "38380:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38380:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "38357:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "38357:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38365:4:84",
                                "nodeType": "YulLiteral",
                                "src": "38365:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38353:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38353:3:84"
                            },
                            "nativeSrc": "38353:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38353:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "38372:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38372:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "38349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38349:3:84"
                        },
                        "nativeSrc": "38349:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38349:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38342:6:84"
                    },
                    "nativeSrc": "38342:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38342:35:84"
                  },
                  "nativeSrc": "38339:55:84",
                  "nodeType": "YulIf",
                  "src": "38339:55:84"
                },
                {
                  "nativeSrc": "38403:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38403:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "38419:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38419:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38413:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38413:5:84"
                    },
                    "nativeSrc": "38413:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38413:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38407:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38407:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38435:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38435:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "38445:4:84",
                    "nodeType": "YulLiteral",
                    "src": "38445:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "38439:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38439:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38458:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38458:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "38508:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38508:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_bytes32_dyn",
                      "nativeSrc": "38468:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "38468:39:84"
                    },
                    "nativeSrc": "38468:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38468:43:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "38462:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38462:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38520:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38520:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38540:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38540:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38534:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38534:5:84"
                    },
                    "nativeSrc": "38534:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38534:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "38524:6:84",
                      "nodeType": "YulTypedName",
                      "src": "38524:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38572:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38572:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "38580:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38580:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "38552:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "38552:19:84"
                    },
                    "nativeSrc": "38552:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38552:31:84"
                  },
                  "nativeSrc": "38552:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38552:31:84"
                },
                {
                  "nativeSrc": "38592:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38592:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "38603:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "38603:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "38596:3:84",
                      "nodeType": "YulTypedName",
                      "src": "38596:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38625:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38625:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "38633:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38633:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38618:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38618:6:84"
                    },
                    "nativeSrc": "38618:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38618:18:84"
                  },
                  "nativeSrc": "38618:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38618:18:84"
                },
                {
                  "nativeSrc": "38645:22:84",
                  "nodeType": "YulAssignment",
                  "src": "38645:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38656:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38656:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "38664:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38664:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38652:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38652:3:84"
                    },
                    "nativeSrc": "38652:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38652:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "38645:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38645:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "38676:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38676:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "38698:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38698:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "38710:1:84",
                                "nodeType": "YulLiteral",
                                "src": "38710:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "38713:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38713:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "38706:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38706:3:84"
                            },
                            "nativeSrc": "38706:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38706:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38694:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38694:3:84"
                        },
                        "nativeSrc": "38694:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38694:23:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "38719:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38719:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38690:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38690:3:84"
                    },
                    "nativeSrc": "38690:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38690:32:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "38680:6:84",
                      "nodeType": "YulTypedName",
                      "src": "38680:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38750:16:84",
                    "nodeType": "YulBlock",
                    "src": "38750:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38759:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38759:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38762:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38752:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38752:6:84"
                          },
                          "nativeSrc": "38752:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38752:12:84"
                        },
                        "nativeSrc": "38752:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38752:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "38737:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38737:6:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "38745:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "38745:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "38734:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38734:2:84"
                    },
                    "nativeSrc": "38734:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38734:15:84"
                  },
                  "nativeSrc": "38731:35:84",
                  "nodeType": "YulIf",
                  "src": "38731:35:84"
                },
                {
                  "nativeSrc": "38775:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38775:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "38790:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38790:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "38798:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38798:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38786:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38786:3:84"
                    },
                    "nativeSrc": "38786:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38786:15:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "38779:3:84",
                      "nodeType": "YulTypedName",
                      "src": "38779:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38866:1205:84",
                    "nodeType": "YulBlock",
                    "src": "38866:1205:84",
                    "statements": [
                      {
                        "nativeSrc": "38880:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38880:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "38905:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38905:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38899:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "38899:5:84"
                          },
                          "nativeSrc": "38899:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38899:10:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "38884:11:84",
                            "nodeType": "YulTypedName",
                            "src": "38884:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "38922:28:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38922:28:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "38932:18:84",
                          "nodeType": "YulLiteral",
                          "src": "38932:18:84",
                          "type": "",
                          "value": "0xffffffffffffffff"
                        },
                        "variables": [
                          {
                            "name": "_4",
                            "nativeSrc": "38926:2:84",
                            "nodeType": "YulTypedName",
                            "src": "38926:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38998:74:84",
                          "nodeType": "YulBlock",
                          "src": "38998:74:84",
                          "statements": [
                            {
                              "nativeSrc": "39016:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "39016:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "39026:1:84",
                                "nodeType": "YulLiteral",
                                "src": "39026:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_5",
                                  "nativeSrc": "39020:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "39020:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_5",
                                    "nativeSrc": "39051:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39051:2:84"
                                  },
                                  {
                                    "name": "_5",
                                    "nativeSrc": "39055:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39055:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39044:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39044:6:84"
                                },
                                "nativeSrc": "39044:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39044:14:84"
                              },
                              "nativeSrc": "39044:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "39044:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "38969:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "38969:11:84"
                            },
                            {
                              "name": "_4",
                              "nativeSrc": "38982:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "38982:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38966:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38966:2:84"
                          },
                          "nativeSrc": "38966:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38966:19:84"
                        },
                        "nativeSrc": "38963:109:84",
                        "nodeType": "YulIf",
                        "src": "38963:109:84"
                      },
                      {
                        "nativeSrc": "39085:34:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39085:34:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "offset",
                              "nativeSrc": "39099:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "39099:6:84"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "39107:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "39107:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "39095:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39095:3:84"
                          },
                          "nativeSrc": "39095:24:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39095:24:84"
                        },
                        "variables": [
                          {
                            "name": "_6",
                            "nativeSrc": "39089:2:84",
                            "nodeType": "YulTypedName",
                            "src": "39089:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39177:74:84",
                          "nodeType": "YulBlock",
                          "src": "39177:74:84",
                          "statements": [
                            {
                              "nativeSrc": "39195:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "39195:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "39205:1:84",
                                "nodeType": "YulLiteral",
                                "src": "39205:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_7",
                                  "nativeSrc": "39199:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "39199:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_7",
                                    "nativeSrc": "39230:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39230:2:84"
                                  },
                                  {
                                    "name": "_7",
                                    "nativeSrc": "39234:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39234:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39223:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39223:6:84"
                                },
                                "nativeSrc": "39223:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39223:14:84"
                              },
                              "nativeSrc": "39223:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "39223:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_6",
                                      "nativeSrc": "39150:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "39150:2:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39154:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "39154:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39146:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39146:3:84"
                                  },
                                  "nativeSrc": "39146:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39146:11:84"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "39159:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39159:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "39142:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "39142:3:84"
                              },
                              "nativeSrc": "39142:21:84",
                              "nodeType": "YulFunctionCall",
                              "src": "39142:21:84"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "39135:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39135:6:84"
                          },
                          "nativeSrc": "39135:29:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39135:29:84"
                        },
                        "nativeSrc": "39132:119:84",
                        "nodeType": "YulIf",
                        "src": "39132:119:84"
                      },
                      {
                        "nativeSrc": "39264:25:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39264:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39286:2:84",
                              "nodeType": "YulLiteral",
                              "src": "39286:2:84",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "39280:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "39280:5:84"
                          },
                          "nativeSrc": "39280:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39280:9:84"
                        },
                        "variables": [
                          {
                            "name": "memPtr_1",
                            "nativeSrc": "39268:8:84",
                            "nodeType": "YulTypedName",
                            "src": "39268:8:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memPtr_1",
                              "nativeSrc": "39327:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "39327:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "finalize_allocation_9064",
                            "nativeSrc": "39302:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "39302:24:84"
                          },
                          "nativeSrc": "39302:34:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39302:34:84"
                        },
                        "nativeSrc": "39302:34:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39302:34:84"
                      },
                      {
                        "nativeSrc": "39349:21:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39349:21:84",
                        "value": {
                          "name": "memPtr_1",
                          "nativeSrc": "39362:8:84",
                          "nodeType": "YulIdentifier",
                          "src": "39362:8:84"
                        },
                        "variables": [
                          {
                            "name": "dst_1",
                            "nativeSrc": "39353:5:84",
                            "nodeType": "YulTypedName",
                            "src": "39353:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "39383:27:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39383:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "_6",
                              "nativeSrc": "39403:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "39403:2:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39407:2:84",
                              "nodeType": "YulLiteral",
                              "src": "39407:2:84",
                              "type": "",
                              "value": "96"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "39399:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39399:3:84"
                          },
                          "nativeSrc": "39399:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39399:11:84"
                        },
                        "variables": [
                          {
                            "name": "srcEnd_1",
                            "nativeSrc": "39387:8:84",
                            "nodeType": "YulTypedName",
                            "src": "39387:8:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39456:74:84",
                          "nodeType": "YulBlock",
                          "src": "39456:74:84",
                          "statements": [
                            {
                              "nativeSrc": "39474:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "39474:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "39484:1:84",
                                "nodeType": "YulLiteral",
                                "src": "39484:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_8",
                                  "nativeSrc": "39478:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "39478:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_8",
                                    "nativeSrc": "39509:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39509:2:84"
                                  },
                                  {
                                    "name": "_8",
                                    "nativeSrc": "39513:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39513:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "39502:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39502:6:84"
                                },
                                "nativeSrc": "39502:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39502:14:84"
                              },
                              "nativeSrc": "39502:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "39502:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "39429:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "39429:8:84"
                            },
                            {
                              "name": "end",
                              "nativeSrc": "39439:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39439:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "39426:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39426:2:84"
                          },
                          "nativeSrc": "39426:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39426:17:84"
                        },
                        "nativeSrc": "39423:107:84",
                        "nodeType": "YulIf",
                        "src": "39423:107:84"
                      },
                      {
                        "nativeSrc": "39543:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "39543:24:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "_6",
                              "nativeSrc": "39560:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "39560:2:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "39564:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "39564:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "39556:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39556:3:84"
                          },
                          "nativeSrc": "39556:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39556:11:84"
                        },
                        "variables": [
                          {
                            "name": "src_1",
                            "nativeSrc": "39547:5:84",
                            "nodeType": "YulTypedName",
                            "src": "39547:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "39648:347:84",
                          "nodeType": "YulBlock",
                          "src": "39648:347:84",
                          "statements": [
                            {
                              "nativeSrc": "39666:33:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "39666:33:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "39693:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39693:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "39687:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39687:5:84"
                                },
                                "nativeSrc": "39687:12:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39687:12:84"
                              },
                              "variables": [
                                {
                                  "name": "innerOffset_1",
                                  "nativeSrc": "39670:13:84",
                                  "nodeType": "YulTypedName",
                                  "src": "39670:13:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nativeSrc": "39757:86:84",
                                "nodeType": "YulBlock",
                                "src": "39757:86:84",
                                "statements": [
                                  {
                                    "nativeSrc": "39779:11:84",
                                    "nodeType": "YulVariableDeclaration",
                                    "src": "39779:11:84",
                                    "value": {
                                      "kind": "number",
                                      "nativeSrc": "39789:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "39789:1:84",
                                      "type": "",
                                      "value": "0"
                                    },
                                    "variables": [
                                      {
                                        "name": "_9",
                                        "nativeSrc": "39783:2:84",
                                        "nodeType": "YulTypedName",
                                        "src": "39783:2:84",
                                        "type": ""
                                      }
                                    ]
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "name": "_9",
                                          "nativeSrc": "39818:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "39818:2:84"
                                        },
                                        {
                                          "name": "_9",
                                          "nativeSrc": "39822:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "39822:2:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nativeSrc": "39811:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "39811:6:84"
                                      },
                                      "nativeSrc": "39811:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39811:14:84"
                                    },
                                    "nativeSrc": "39811:14:84",
                                    "nodeType": "YulExpressionStatement",
                                    "src": "39811:14:84"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "innerOffset_1",
                                    "nativeSrc": "39722:13:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39722:13:84"
                                  },
                                  {
                                    "name": "_4",
                                    "nativeSrc": "39737:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39737:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nativeSrc": "39719:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39719:2:84"
                                },
                                "nativeSrc": "39719:21:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39719:21:84"
                              },
                              "nativeSrc": "39716:127:84",
                              "nodeType": "YulIf",
                              "src": "39716:127:84"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "39867:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39867:5:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "_6",
                                                "nativeSrc": "39911:2:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "39911:2:84"
                                              },
                                              {
                                                "name": "innerOffset_1",
                                                "nativeSrc": "39915:13:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "39915:13:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "39907:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "39907:3:84"
                                            },
                                            "nativeSrc": "39907:22:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "39907:22:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "39931:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "39931:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "39903:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "39903:3:84"
                                        },
                                        "nativeSrc": "39903:31:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "39903:31:84"
                                      },
                                      {
                                        "name": "end",
                                        "nativeSrc": "39936:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "39936:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "abi_decode_string_fromMemory",
                                      "nativeSrc": "39874:28:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "39874:28:84"
                                    },
                                    "nativeSrc": "39874:66:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "39874:66:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "39860:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39860:6:84"
                                },
                                "nativeSrc": "39860:81:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39860:81:84"
                              },
                              "nativeSrc": "39860:81:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "39860:81:84"
                            },
                            {
                              "nativeSrc": "39958:23:84",
                              "nodeType": "YulAssignment",
                              "src": "39958:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "39971:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39971:5:84"
                                  },
                                  {
                                    "name": "_2",
                                    "nativeSrc": "39978:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39978:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "39967:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39967:3:84"
                                },
                                "nativeSrc": "39967:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39967:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "dst_1",
                                  "nativeSrc": "39958:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39958:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "src_1",
                              "nativeSrc": "39591:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "39591:5:84"
                            },
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "39598:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "39598:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "39588:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39588:2:84"
                          },
                          "nativeSrc": "39588:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39588:19:84"
                        },
                        "nativeSrc": "39580:415:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "39608:27:84",
                          "nodeType": "YulBlock",
                          "src": "39608:27:84",
                          "statements": [
                            {
                              "nativeSrc": "39610:23:84",
                              "nodeType": "YulAssignment",
                              "src": "39610:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "39623:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39623:5:84"
                                  },
                                  {
                                    "name": "_2",
                                    "nativeSrc": "39630:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39630:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "39619:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39619:3:84"
                                },
                                "nativeSrc": "39619:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39619:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "src_1",
                                  "nativeSrc": "39610:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39610:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "39584:3:84",
                          "nodeType": "YulBlock",
                          "src": "39584:3:84",
                          "statements": []
                        },
                        "src": "39580:415:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "40015:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40015:3:84"
                            },
                            {
                              "name": "memPtr_1",
                              "nativeSrc": "40020:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "40020:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "40008:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40008:6:84"
                          },
                          "nativeSrc": "40008:21:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40008:21:84"
                        },
                        "nativeSrc": "40008:21:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40008:21:84"
                      },
                      {
                        "nativeSrc": "40042:19:84",
                        "nodeType": "YulAssignment",
                        "src": "40042:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "40053:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40053:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "40058:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "40058:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "40049:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40049:3:84"
                          },
                          "nativeSrc": "40049:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40049:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "40042:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40042:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "38821:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "38821:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "38826:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38826:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "38818:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38818:2:84"
                    },
                    "nativeSrc": "38818:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38818:15:84"
                  },
                  "nativeSrc": "38810:1261:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "38834:23:84",
                    "nodeType": "YulBlock",
                    "src": "38834:23:84",
                    "statements": [
                      {
                        "nativeSrc": "38836:19:84",
                        "nodeType": "YulAssignment",
                        "src": "38836:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "38847:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38847:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "38852:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "38852:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "38843:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38843:3:84"
                          },
                          "nativeSrc": "38843:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38843:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "38836:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38836:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "38814:3:84",
                    "nodeType": "YulBlock",
                    "src": "38814:3:84",
                    "statements": []
                  },
                  "src": "38810:1261:84"
                },
                {
                  "nativeSrc": "40080:15:84",
                  "nodeType": "YulAssignment",
                  "src": "40080:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "40089:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "40089:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "40080:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40080:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_array_string_dyn_fromMemory",
            "nativeSrc": "38249:1852:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "38303:6:84",
                "nodeType": "YulTypedName",
                "src": "38303:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "38311:3:84",
                "nodeType": "YulTypedName",
                "src": "38311:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "38319:5:84",
                "nodeType": "YulTypedName",
                "src": "38319:5:84",
                "type": ""
              }
            ],
            "src": "38249:1852:84"
          },
          {
            "body": {
              "nativeSrc": "40220:1315:84",
              "nodeType": "YulBlock",
              "src": "40220:1315:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "40266:16:84",
                    "nodeType": "YulBlock",
                    "src": "40266:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40275:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40275:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40278:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40278:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40268:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40268:6:84"
                          },
                          "nativeSrc": "40268:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40268:12:84"
                        },
                        "nativeSrc": "40268:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40268:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40241:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "40241:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "40250:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "40250:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40237:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40237:3:84"
                        },
                        "nativeSrc": "40237:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40237:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40262:2:84",
                        "nodeType": "YulLiteral",
                        "src": "40262:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40233:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40233:3:84"
                    },
                    "nativeSrc": "40233:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40233:32:84"
                  },
                  "nativeSrc": "40230:52:84",
                  "nodeType": "YulIf",
                  "src": "40230:52:84"
                },
                {
                  "nativeSrc": "40291:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40291:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40311:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "40311:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40305:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40305:5:84"
                    },
                    "nativeSrc": "40305:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40305:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "40295:6:84",
                      "nodeType": "YulTypedName",
                      "src": "40295:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40330:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40330:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40340:18:84",
                    "nodeType": "YulLiteral",
                    "src": "40340:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40334:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40334:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40385:16:84",
                    "nodeType": "YulBlock",
                    "src": "40385:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40394:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40394:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40397:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40397:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40387:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40387:6:84"
                          },
                          "nativeSrc": "40387:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40387:12:84"
                        },
                        "nativeSrc": "40387:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40387:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "40373:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "40373:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40381:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40381:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "40370:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "40370:2:84"
                    },
                    "nativeSrc": "40370:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40370:14:84"
                  },
                  "nativeSrc": "40367:34:84",
                  "nodeType": "YulIf",
                  "src": "40367:34:84"
                },
                {
                  "nativeSrc": "40410:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40410:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40424:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "40424:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "40435:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "40435:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "40420:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40420:3:84"
                    },
                    "nativeSrc": "40420:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40420:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "40414:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40414:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40482:16:84",
                    "nodeType": "YulBlock",
                    "src": "40482:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40491:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40491:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40494:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40494:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40484:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40484:6:84"
                          },
                          "nativeSrc": "40484:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40484:12:84"
                        },
                        "nativeSrc": "40484:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40484:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40462:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "40462:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "40471:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40471:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40458:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40458:3:84"
                        },
                        "nativeSrc": "40458:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40458:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40476:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40476:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40454:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40454:3:84"
                    },
                    "nativeSrc": "40454:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40454:27:84"
                  },
                  "nativeSrc": "40451:47:84",
                  "nodeType": "YulIf",
                  "src": "40451:47:84"
                },
                {
                  "nativeSrc": "40507:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40507:30:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "40520:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "40520:15:84"
                    },
                    "nativeSrc": "40520:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40520:17:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "40511:5:84",
                      "nodeType": "YulTypedName",
                      "src": "40511:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "40553:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "40553:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "40588:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40588:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "40560:27:84",
                          "nodeType": "YulIdentifier",
                          "src": "40560:27:84"
                        },
                        "nativeSrc": "40560:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40560:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40546:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40546:6:84"
                    },
                    "nativeSrc": "40546:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40546:46:84"
                  },
                  "nativeSrc": "40546:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40546:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40612:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40612:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40619:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40619:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40608:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40608:3:84"
                        },
                        "nativeSrc": "40608:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40608:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "40679:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "40679:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40683:2:84",
                                "nodeType": "YulLiteral",
                                "src": "40683:2:84",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40675:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40675:3:84"
                            },
                            "nativeSrc": "40675:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40675:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataRequestMethods_fromMemory",
                          "nativeSrc": "40624:50:84",
                          "nodeType": "YulIdentifier",
                          "src": "40624:50:84"
                        },
                        "nativeSrc": "40624:63:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40624:63:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40601:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40601:6:84"
                    },
                    "nativeSrc": "40601:87:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40601:87:84"
                  },
                  "nativeSrc": "40601:87:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40601:87:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40708:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40708:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40715:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40715:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40704:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40704:3:84"
                        },
                        "nativeSrc": "40704:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40704:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "40766:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "40766:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40770:2:84",
                                "nodeType": "YulLiteral",
                                "src": "40770:2:84",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40762:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40762:3:84"
                            },
                            "nativeSrc": "40762:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40762:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                          "nativeSrc": "40720:41:84",
                          "nodeType": "YulIdentifier",
                          "src": "40720:41:84"
                        },
                        "nativeSrc": "40720:54:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40720:54:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40697:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40697:6:84"
                    },
                    "nativeSrc": "40697:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40697:78:84"
                  },
                  "nativeSrc": "40697:78:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40697:78:84"
                },
                {
                  "nativeSrc": "40784:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40784:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "40810:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40810:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40814:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40814:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40806:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40806:3:84"
                        },
                        "nativeSrc": "40806:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40806:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40800:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40800:5:84"
                    },
                    "nativeSrc": "40800:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40800:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "40788:8:84",
                      "nodeType": "YulTypedName",
                      "src": "40788:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40847:16:84",
                    "nodeType": "YulBlock",
                    "src": "40847:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40856:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40856:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40859:1:84",
                              "nodeType": "YulLiteral",
                              "src": "40859:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40849:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40849:6:84"
                          },
                          "nativeSrc": "40849:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40849:12:84"
                        },
                        "nativeSrc": "40849:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40849:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "40833:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "40833:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40843:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40843:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "40830:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "40830:2:84"
                    },
                    "nativeSrc": "40830:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40830:16:84"
                  },
                  "nativeSrc": "40827:36:84",
                  "nodeType": "YulIf",
                  "src": "40827:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40883:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40883:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40890:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40890:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40879:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40879:3:84"
                        },
                        "nativeSrc": "40879:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40879:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "40928:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "40928:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "40932:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "40932:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40924:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40924:3:84"
                            },
                            "nativeSrc": "40924:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40924:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40943:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "40943:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "40895:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "40895:28:84"
                        },
                        "nativeSrc": "40895:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40895:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40872:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40872:6:84"
                    },
                    "nativeSrc": "40872:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40872:80:84"
                  },
                  "nativeSrc": "40872:80:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40872:80:84"
                },
                {
                  "nativeSrc": "40961:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40961:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "40987:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40987:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40991:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40991:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40983:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40983:3:84"
                        },
                        "nativeSrc": "40983:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40983:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40977:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40977:5:84"
                    },
                    "nativeSrc": "40977:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40977:19:84"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "40965:8:84",
                      "nodeType": "YulTypedName",
                      "src": "40965:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41025:16:84",
                    "nodeType": "YulBlock",
                    "src": "41025:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41034:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41034:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41037:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41037:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41027:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41027:6:84"
                          },
                          "nativeSrc": "41027:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41027:12:84"
                        },
                        "nativeSrc": "41027:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41027:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "41011:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "41011:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "41021:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "41021:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41008:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41008:2:84"
                    },
                    "nativeSrc": "41008:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41008:16:84"
                  },
                  "nativeSrc": "41005:36:84",
                  "nodeType": "YulIf",
                  "src": "41005:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "41061:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "41061:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41068:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41068:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41057:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41057:3:84"
                        },
                        "nativeSrc": "41057:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41057:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "41107:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "41107:2:84"
                              },
                              {
                                "name": "offset_2",
                                "nativeSrc": "41111:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "41111:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "41103:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "41103:3:84"
                            },
                            "nativeSrc": "41103:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "41103:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41122:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "41122:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "41074:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "41074:28:84"
                        },
                        "nativeSrc": "41074:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41074:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41050:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41050:6:84"
                    },
                    "nativeSrc": "41050:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41050:81:84"
                  },
                  "nativeSrc": "41050:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41050:81:84"
                },
                {
                  "nativeSrc": "41140:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41140:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "41166:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "41166:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41170:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41170:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41162:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41162:3:84"
                        },
                        "nativeSrc": "41162:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41162:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41156:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41156:5:84"
                    },
                    "nativeSrc": "41156:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41156:19:84"
                  },
                  "variables": [
                    {
                      "name": "offset_3",
                      "nativeSrc": "41144:8:84",
                      "nodeType": "YulTypedName",
                      "src": "41144:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41204:16:84",
                    "nodeType": "YulBlock",
                    "src": "41204:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41213:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41213:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41216:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41216:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41206:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41206:6:84"
                          },
                          "nativeSrc": "41206:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41206:12:84"
                        },
                        "nativeSrc": "41206:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41206:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_3",
                        "nativeSrc": "41190:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "41190:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "41200:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "41200:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41187:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41187:2:84"
                    },
                    "nativeSrc": "41187:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41187:16:84"
                  },
                  "nativeSrc": "41184:36:84",
                  "nodeType": "YulIf",
                  "src": "41184:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "41240:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "41240:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41247:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41247:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41236:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41236:3:84"
                        },
                        "nativeSrc": "41236:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41236:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "41302:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "41302:2:84"
                              },
                              {
                                "name": "offset_3",
                                "nativeSrc": "41306:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "41306:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "41298:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "41298:3:84"
                            },
                            "nativeSrc": "41298:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "41298:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41317:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "41317:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_array_array_string_dyn_fromMemory",
                          "nativeSrc": "41253:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "41253:44:84"
                        },
                        "nativeSrc": "41253:72:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41253:72:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41229:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41229:6:84"
                    },
                    "nativeSrc": "41229:97:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41229:97:84"
                  },
                  "nativeSrc": "41229:97:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41229:97:84"
                },
                {
                  "nativeSrc": "41335:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41335:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "41361:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "41361:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41365:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41365:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41357:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41357:3:84"
                        },
                        "nativeSrc": "41357:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41357:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41351:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41351:5:84"
                    },
                    "nativeSrc": "41351:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41351:19:84"
                  },
                  "variables": [
                    {
                      "name": "offset_4",
                      "nativeSrc": "41339:8:84",
                      "nodeType": "YulTypedName",
                      "src": "41339:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41399:16:84",
                    "nodeType": "YulBlock",
                    "src": "41399:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41408:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41408:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41411:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41411:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41401:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41401:6:84"
                          },
                          "nativeSrc": "41401:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41401:12:84"
                        },
                        "nativeSrc": "41401:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41401:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_4",
                        "nativeSrc": "41385:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "41385:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "41395:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "41395:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41382:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41382:2:84"
                    },
                    "nativeSrc": "41382:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41382:16:84"
                  },
                  "nativeSrc": "41379:36:84",
                  "nodeType": "YulIf",
                  "src": "41379:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "41435:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "41435:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41442:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41442:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41431:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41431:3:84"
                        },
                        "nativeSrc": "41431:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41431:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "41481:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "41481:2:84"
                              },
                              {
                                "name": "offset_4",
                                "nativeSrc": "41485:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "41485:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "41477:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "41477:3:84"
                            },
                            "nativeSrc": "41477:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "41477:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41496:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "41496:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "41448:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "41448:28:84"
                        },
                        "nativeSrc": "41448:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41448:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41424:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41424:6:84"
                    },
                    "nativeSrc": "41424:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41424:81:84"
                  },
                  "nativeSrc": "41424:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41424:81:84"
                },
                {
                  "nativeSrc": "41514:15:84",
                  "nodeType": "YulAssignment",
                  "src": "41514:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "41524:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "41524:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "41514:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41514:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptr_fromMemory",
            "nativeSrc": "40106:1429:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40186:9:84",
                "nodeType": "YulTypedName",
                "src": "40186:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "40197:7:84",
                "nodeType": "YulTypedName",
                "src": "40197:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "40209:6:84",
                "nodeType": "YulTypedName",
                "src": "40209:6:84",
                "type": ""
              }
            ],
            "src": "40106:1429:84"
          },
          {
            "body": {
              "nativeSrc": "41641:139:84",
              "nodeType": "YulBlock",
              "src": "41641:139:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "41687:16:84",
                    "nodeType": "YulBlock",
                    "src": "41687:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41696:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41696:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41699:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41699:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41689:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41689:6:84"
                          },
                          "nativeSrc": "41689:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41689:12:84"
                        },
                        "nativeSrc": "41689:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41689:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41662:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "41662:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "41671:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41671:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "41658:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41658:3:84"
                        },
                        "nativeSrc": "41658:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41658:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41683:2:84",
                        "nodeType": "YulLiteral",
                        "src": "41683:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "41654:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41654:3:84"
                    },
                    "nativeSrc": "41654:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41654:32:84"
                  },
                  "nativeSrc": "41651:52:84",
                  "nodeType": "YulIf",
                  "src": "41651:52:84"
                },
                {
                  "nativeSrc": "41712:62:84",
                  "nodeType": "YulAssignment",
                  "src": "41712:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41764:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41764:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                      "nativeSrc": "41722:41:84",
                      "nodeType": "YulIdentifier",
                      "src": "41722:41:84"
                    },
                    "nativeSrc": "41722:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41722:52:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "41712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41712:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_RadonDataTypes_$16432_fromMemory",
            "nativeSrc": "41540:240:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41607:9:84",
                "nodeType": "YulTypedName",
                "src": "41607:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "41618:7:84",
                "nodeType": "YulTypedName",
                "src": "41618:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "41630:6:84",
                "nodeType": "YulTypedName",
                "src": "41630:6:84",
                "type": ""
              }
            ],
            "src": "41540:240:84"
          },
          {
            "body": {
              "nativeSrc": "41959:228:84",
              "nodeType": "YulBlock",
              "src": "41959:228:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41976:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41976:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41987:2:84",
                        "nodeType": "YulLiteral",
                        "src": "41987:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41969:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41969:6:84"
                    },
                    "nativeSrc": "41969:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41969:21:84"
                  },
                  "nativeSrc": "41969:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41969:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42010:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42010:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42021:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42021:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42006:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42006:3:84"
                        },
                        "nativeSrc": "42006:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42006:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42026:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42026:2:84",
                        "type": "",
                        "value": "38"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41999:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41999:6:84"
                    },
                    "nativeSrc": "41999:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41999:30:84"
                  },
                  "nativeSrc": "41999:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41999:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42049:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42049:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42060:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42060:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42045:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42045:3:84"
                        },
                        "nativeSrc": "42045:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42045:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a2062616420726573756c7420646174",
                        "kind": "string",
                        "nativeSrc": "42065:34:84",
                        "nodeType": "YulLiteral",
                        "src": "42065:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: bad result dat"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42038:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42038:6:84"
                    },
                    "nativeSrc": "42038:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42038:62:84"
                  },
                  "nativeSrc": "42038:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42038:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42120:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42120:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42131:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42131:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42116:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42116:3:84"
                        },
                        "nativeSrc": "42116:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42116:18:84"
                      },
                      {
                        "hexValue": "612074797065",
                        "kind": "string",
                        "nativeSrc": "42136:8:84",
                        "nodeType": "YulLiteral",
                        "src": "42136:8:84",
                        "type": "",
                        "value": "a type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42109:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42109:6:84"
                    },
                    "nativeSrc": "42109:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42109:36:84"
                  },
                  "nativeSrc": "42109:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42109:36:84"
                },
                {
                  "nativeSrc": "42154:27:84",
                  "nodeType": "YulAssignment",
                  "src": "42154:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42166:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42166:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42177:3:84",
                        "nodeType": "YulLiteral",
                        "src": "42177:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42162:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42162:3:84"
                    },
                    "nativeSrc": "42162:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42162:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42154:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42154:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_11157465577087b793571f8ece7e9e256844fed1020409c47f8856e063b485e4__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "41785:402:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41936:9:84",
                "nodeType": "YulTypedName",
                "src": "41936:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41950:4:84",
                "nodeType": "YulTypedName",
                "src": "41950:4:84",
                "type": ""
              }
            ],
            "src": "41785:402:84"
          },
          {
            "body": {
              "nativeSrc": "42319:146:84",
              "nodeType": "YulBlock",
              "src": "42319:146:84",
              "statements": [
                {
                  "nativeSrc": "42329:26:84",
                  "nodeType": "YulAssignment",
                  "src": "42329:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42341:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42341:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42352:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42352:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42337:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42337:3:84"
                    },
                    "nativeSrc": "42337:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42337:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42329:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42329:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42371:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42371:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "42386:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "42386:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "42398:3:84",
                                "nodeType": "YulLiteral",
                                "src": "42398:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "42403:10:84",
                                "nodeType": "YulLiteral",
                                "src": "42403:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "42394:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "42394:3:84"
                            },
                            "nativeSrc": "42394:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42394:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42382:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42382:3:84"
                        },
                        "nativeSrc": "42382:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42382:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42364:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42364:6:84"
                    },
                    "nativeSrc": "42364:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42364:52:84"
                  },
                  "nativeSrc": "42364:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42364:52:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42436:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42436:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42447:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42447:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42432:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42432:3:84"
                        },
                        "nativeSrc": "42432:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42432:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "42452:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42452:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42425:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42425:6:84"
                    },
                    "nativeSrc": "42425:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42425:34:84"
                  },
                  "nativeSrc": "42425:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42425:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_bytes32__to_t_bytes4_t_bytes32__fromStack_reversed",
            "nativeSrc": "42192:273:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42280:9:84",
                "nodeType": "YulTypedName",
                "src": "42280:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "42291:6:84",
                "nodeType": "YulTypedName",
                "src": "42291:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "42299:6:84",
                "nodeType": "YulTypedName",
                "src": "42299:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "42310:4:84",
                "nodeType": "YulTypedName",
                "src": "42310:4:84",
                "type": ""
              }
            ],
            "src": "42192:273:84"
          },
          {
            "body": {
              "nativeSrc": "42644:180:84",
              "nodeType": "YulBlock",
              "src": "42644:180:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42661:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42661:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42672:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42672:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42654:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42654:6:84"
                    },
                    "nativeSrc": "42654:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42654:21:84"
                  },
                  "nativeSrc": "42654:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42654:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42695:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42695:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42706:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42706:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42691:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42691:3:84"
                        },
                        "nativeSrc": "42691:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42691:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42711:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42711:2:84",
                        "type": "",
                        "value": "30"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42684:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42684:6:84"
                    },
                    "nativeSrc": "42684:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42684:30:84"
                  },
                  "nativeSrc": "42684:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42684:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42734:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42734:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42745:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42745:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42730:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42730:3:84"
                        },
                        "nativeSrc": "42730:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42730:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e6b6e6f776e2066656564",
                        "kind": "string",
                        "nativeSrc": "42750:32:84",
                        "nodeType": "YulLiteral",
                        "src": "42750:32:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: unknown feed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42723:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42723:6:84"
                    },
                    "nativeSrc": "42723:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42723:60:84"
                  },
                  "nativeSrc": "42723:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42723:60:84"
                },
                {
                  "nativeSrc": "42792:26:84",
                  "nodeType": "YulAssignment",
                  "src": "42792:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42804:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42804:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42815:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42815:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42800:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42800:3:84"
                    },
                    "nativeSrc": "42800:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42800:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42792:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42792:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "42470:354:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42621:9:84",
                "nodeType": "YulTypedName",
                "src": "42621:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "42635:4:84",
                "nodeType": "YulTypedName",
                "src": "42635:4:84",
                "type": ""
              }
            ],
            "src": "42470:354:84"
          },
          {
            "body": {
              "nativeSrc": "42878:79:84",
              "nodeType": "YulBlock",
              "src": "42878:79:84",
              "statements": [
                {
                  "nativeSrc": "42888:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42888:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "42900:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42900:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "42903:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42903:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "42896:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42896:3:84"
                    },
                    "nativeSrc": "42896:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42896:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "42888:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42888:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42929:22:84",
                    "nodeType": "YulBlock",
                    "src": "42929:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "42931:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42931:16:84"
                          },
                          "nativeSrc": "42931:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42931:18:84"
                        },
                        "nativeSrc": "42931:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42931:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "42920:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42920:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "42926:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42926:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42917:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42917:2:84"
                    },
                    "nativeSrc": "42917:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42917:11:84"
                  },
                  "nativeSrc": "42914:37:84",
                  "nodeType": "YulIf",
                  "src": "42914:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "42829:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "42860:1:84",
                "nodeType": "YulTypedName",
                "src": "42860:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "42863:1:84",
                "nodeType": "YulTypedName",
                "src": "42863:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "42869:4:84",
                "nodeType": "YulTypedName",
                "src": "42869:4:84",
                "type": ""
              }
            ],
            "src": "42829:128:84"
          },
          {
            "body": {
              "nativeSrc": "42994:95:84",
              "nodeType": "YulBlock",
              "src": "42994:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43011:1:84",
                        "nodeType": "YulLiteral",
                        "src": "43011:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "43018:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43018:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43023:10:84",
                            "nodeType": "YulLiteral",
                            "src": "43023:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "43014:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43014:3:84"
                        },
                        "nativeSrc": "43014:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43014:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43004:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43004:6:84"
                    },
                    "nativeSrc": "43004:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43004:31:84"
                  },
                  "nativeSrc": "43004:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43004:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43051:1:84",
                        "nodeType": "YulLiteral",
                        "src": "43051:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43054:4:84",
                        "nodeType": "YulLiteral",
                        "src": "43054:4:84",
                        "type": "",
                        "value": "0x31"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43044:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43044:6:84"
                    },
                    "nativeSrc": "43044:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43044:15:84"
                  },
                  "nativeSrc": "43044:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43044:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43075:1:84",
                        "nodeType": "YulLiteral",
                        "src": "43075:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43078:4:84",
                        "nodeType": "YulLiteral",
                        "src": "43078:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "43068:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43068:6:84"
                    },
                    "nativeSrc": "43068:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43068:15:84"
                  },
                  "nativeSrc": "43068:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43068:15:84"
                }
              ]
            },
            "name": "panic_error_0x31",
            "nativeSrc": "42962:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "42962:127:84"
          },
          {
            "body": {
              "nativeSrc": "43153:106:84",
              "nodeType": "YulBlock",
              "src": "43153:106:84",
              "statements": [
                {
                  "nativeSrc": "43163:22:84",
                  "nodeType": "YulAssignment",
                  "src": "43163:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "43178:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43178:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43172:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43172:5:84"
                    },
                    "nativeSrc": "43172:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43172:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "43163:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43163:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43237:16:84",
                    "nodeType": "YulBlock",
                    "src": "43237:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43246:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43246:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43249:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43249:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "43239:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43239:6:84"
                          },
                          "nativeSrc": "43239:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43239:12:84"
                        },
                        "nativeSrc": "43239:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43239:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "43207:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "43207:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "43218:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "43218:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43225:8:84",
                                "nodeType": "YulLiteral",
                                "src": "43225:8:84",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43214:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "43214:3:84"
                            },
                            "nativeSrc": "43214:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "43214:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "43204:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "43204:2:84"
                        },
                        "nativeSrc": "43204:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43204:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43197:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43197:6:84"
                    },
                    "nativeSrc": "43197:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43197:39:84"
                  },
                  "nativeSrc": "43194:59:84",
                  "nodeType": "YulIf",
                  "src": "43194:59:84"
                }
              ]
            },
            "name": "abi_decode_uint24_fromMemory",
            "nativeSrc": "43094:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "43132:6:84",
                "nodeType": "YulTypedName",
                "src": "43132:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "43143:5:84",
                "nodeType": "YulTypedName",
                "src": "43143:5:84",
                "type": ""
              }
            ],
            "src": "43094:165:84"
          },
          {
            "body": {
              "nativeSrc": "43323:118:84",
              "nodeType": "YulBlock",
              "src": "43323:118:84",
              "statements": [
                {
                  "nativeSrc": "43333:22:84",
                  "nodeType": "YulAssignment",
                  "src": "43333:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "43348:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43348:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43342:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43342:5:84"
                    },
                    "nativeSrc": "43342:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43342:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "43333:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43333:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43419:16:84",
                    "nodeType": "YulBlock",
                    "src": "43419:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43428:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43428:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43431:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43431:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "43421:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43421:6:84"
                          },
                          "nativeSrc": "43421:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43421:12:84"
                        },
                        "nativeSrc": "43421:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43421:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "43377:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "43377:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "43388:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "43388:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43395:20:84",
                                "nodeType": "YulLiteral",
                                "src": "43395:20:84",
                                "type": "",
                                "value": "0xffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43384:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "43384:3:84"
                            },
                            "nativeSrc": "43384:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "43384:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "43374:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "43374:2:84"
                        },
                        "nativeSrc": "43374:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43374:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43367:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43367:6:84"
                    },
                    "nativeSrc": "43367:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43367:51:84"
                  },
                  "nativeSrc": "43364:71:84",
                  "nodeType": "YulIf",
                  "src": "43364:71:84"
                }
              ]
            },
            "name": "abi_decode_uint72_fromMemory",
            "nativeSrc": "43264:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "43302:6:84",
                "nodeType": "YulTypedName",
                "src": "43302:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "43313:5:84",
                "nodeType": "YulTypedName",
                "src": "43313:5:84",
                "type": ""
              }
            ],
            "src": "43264:177:84"
          },
          {
            "body": {
              "nativeSrc": "43490:85:84",
              "nodeType": "YulBlock",
              "src": "43490:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "43553:16:84",
                    "nodeType": "YulBlock",
                    "src": "43553:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43562:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43562:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43565:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43565:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "43555:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43555:6:84"
                          },
                          "nativeSrc": "43555:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43555:12:84"
                        },
                        "nativeSrc": "43555:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43555:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "43513:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "43513:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "43524:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "43524:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43531:18:84",
                                "nodeType": "YulLiteral",
                                "src": "43531:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43520:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "43520:3:84"
                            },
                            "nativeSrc": "43520:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "43520:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "43510:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "43510:2:84"
                        },
                        "nativeSrc": "43510:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43510:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43503:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43503:6:84"
                    },
                    "nativeSrc": "43503:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43503:49:84"
                  },
                  "nativeSrc": "43500:69:84",
                  "nodeType": "YulIf",
                  "src": "43500:69:84"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "43446:129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "43479:5:84",
                "nodeType": "YulTypedName",
                "src": "43479:5:84",
                "type": ""
              }
            ],
            "src": "43446:129:84"
          },
          {
            "body": {
              "nativeSrc": "43656:408:84",
              "nodeType": "YulBlock",
              "src": "43656:408:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "43700:16:84",
                    "nodeType": "YulBlock",
                    "src": "43700:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43709:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43709:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43712:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43712:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "43702:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43702:6:84"
                          },
                          "nativeSrc": "43702:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43702:12:84"
                        },
                        "nativeSrc": "43702:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43702:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "43677:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "43677:3:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "43682:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43682:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "43673:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43673:3:84"
                        },
                        "nativeSrc": "43673:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43673:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43694:4:84",
                        "nodeType": "YulLiteral",
                        "src": "43694:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "43669:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43669:3:84"
                    },
                    "nativeSrc": "43669:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43669:30:84"
                  },
                  "nativeSrc": "43666:50:84",
                  "nodeType": "YulIf",
                  "src": "43666:50:84"
                },
                {
                  "nativeSrc": "43725:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43725:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43745:4:84",
                        "nodeType": "YulLiteral",
                        "src": "43745:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43739:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43739:5:84"
                    },
                    "nativeSrc": "43739:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43739:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "43729:6:84",
                      "nodeType": "YulTypedName",
                      "src": "43729:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43784:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43784:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_9064",
                      "nativeSrc": "43759:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "43759:24:84"
                    },
                    "nativeSrc": "43759:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43759:32:84"
                  },
                  "nativeSrc": "43759:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43759:32:84"
                },
                {
                  "nativeSrc": "43800:15:84",
                  "nodeType": "YulAssignment",
                  "src": "43800:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "43809:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "43809:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "43800:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43800:5:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "43824:31:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43824:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43845:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43845:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43839:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43839:5:84"
                    },
                    "nativeSrc": "43839:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43839:16:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "43828:7:84",
                      "nodeType": "YulTypedName",
                      "src": "43828:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "43887:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "43887:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "43864:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "43864:22:84"
                    },
                    "nativeSrc": "43864:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43864:31:84"
                  },
                  "nativeSrc": "43864:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43864:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43911:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43911:6:84"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "43919:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "43919:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43904:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43904:6:84"
                    },
                    "nativeSrc": "43904:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43904:23:84"
                  },
                  "nativeSrc": "43904:23:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43904:23:84"
                },
                {
                  "nativeSrc": "43936:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43936:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43961:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43961:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43972:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43972:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43957:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43957:3:84"
                        },
                        "nativeSrc": "43957:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43957:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "43951:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "43951:5:84"
                    },
                    "nativeSrc": "43951:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43951:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "43940:7:84",
                      "nodeType": "YulTypedName",
                      "src": "43940:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "44009:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "44009:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "43985:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "43985:23:84"
                    },
                    "nativeSrc": "43985:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43985:32:84"
                  },
                  "nativeSrc": "43985:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43985:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44037:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44037:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44045:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44045:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44033:3:84"
                        },
                        "nativeSrc": "44033:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44033:15:84"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "44050:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "44050:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44026:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44026:6:84"
                    },
                    "nativeSrc": "44026:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44026:32:84"
                  },
                  "nativeSrc": "44026:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44026:32:84"
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_fromMemory",
            "nativeSrc": "43580:484:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43627:9:84",
                "nodeType": "YulTypedName",
                "src": "43627:9:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "43638:3:84",
                "nodeType": "YulTypedName",
                "src": "43638:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "43646:5:84",
                "nodeType": "YulTypedName",
                "src": "43646:5:84",
                "type": ""
              }
            ],
            "src": "43580:484:84"
          },
          {
            "body": {
              "nativeSrc": "44176:960:84",
              "nodeType": "YulBlock",
              "src": "44176:960:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44222:16:84",
                    "nodeType": "YulBlock",
                    "src": "44222:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44231:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44231:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44234:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44234:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44224:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44224:6:84"
                          },
                          "nativeSrc": "44224:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44224:12:84"
                        },
                        "nativeSrc": "44224:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44224:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "44197:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "44197:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "44206:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44206:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "44193:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44193:3:84"
                        },
                        "nativeSrc": "44193:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44193:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44218:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44218:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "44189:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44189:3:84"
                    },
                    "nativeSrc": "44189:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44189:32:84"
                  },
                  "nativeSrc": "44186:52:84",
                  "nodeType": "YulIf",
                  "src": "44186:52:84"
                },
                {
                  "nativeSrc": "44247:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44247:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44267:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44267:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44261:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "44261:5:84"
                    },
                    "nativeSrc": "44261:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44261:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "44251:6:84",
                      "nodeType": "YulTypedName",
                      "src": "44251:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "44286:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44286:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "44296:18:84",
                    "nodeType": "YulLiteral",
                    "src": "44296:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44290:2:84",
                      "nodeType": "YulTypedName",
                      "src": "44290:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44341:16:84",
                    "nodeType": "YulBlock",
                    "src": "44341:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44350:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44350:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44353:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44353:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44343:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44343:6:84"
                          },
                          "nativeSrc": "44343:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44343:12:84"
                        },
                        "nativeSrc": "44343:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44343:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "44329:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44329:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "44337:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "44337:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44326:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44326:2:84"
                    },
                    "nativeSrc": "44326:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44326:14:84"
                  },
                  "nativeSrc": "44323:34:84",
                  "nodeType": "YulIf",
                  "src": "44323:34:84"
                },
                {
                  "nativeSrc": "44366:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44366:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44380:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44380:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "44391:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44391:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44376:3:84"
                    },
                    "nativeSrc": "44376:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44376:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "44370:2:84",
                      "nodeType": "YulTypedName",
                      "src": "44370:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44438:16:84",
                    "nodeType": "YulBlock",
                    "src": "44438:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44447:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44447:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44450:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44450:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44440:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44440:6:84"
                          },
                          "nativeSrc": "44440:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44440:12:84"
                        },
                        "nativeSrc": "44440:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44440:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "44418:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "44418:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "44427:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "44427:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "44414:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44414:3:84"
                        },
                        "nativeSrc": "44414:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44414:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44432:4:84",
                        "nodeType": "YulLiteral",
                        "src": "44432:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "44410:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44410:3:84"
                    },
                    "nativeSrc": "44410:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44410:27:84"
                  },
                  "nativeSrc": "44407:47:84",
                  "nodeType": "YulIf",
                  "src": "44407:47:84"
                },
                {
                  "nativeSrc": "44463:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44463:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "44483:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44483:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44477:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "44477:5:84"
                    },
                    "nativeSrc": "44477:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44477:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "44467:6:84",
                      "nodeType": "YulTypedName",
                      "src": "44467:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "44520:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44520:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_9072",
                      "nativeSrc": "44495:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "44495:24:84"
                    },
                    "nativeSrc": "44495:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44495:32:84"
                  },
                  "nativeSrc": "44495:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44495:32:84"
                },
                {
                  "nativeSrc": "44536:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44536:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "44555:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "44555:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44549:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "44549:5:84"
                    },
                    "nativeSrc": "44549:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44549:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "44540:5:84",
                      "nodeType": "YulTypedName",
                      "src": "44540:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "44592:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "44592:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "44567:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "44567:24:84"
                    },
                    "nativeSrc": "44567:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44567:31:84"
                  },
                  "nativeSrc": "44567:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44567:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "44614:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44614:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "44622:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "44622:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44607:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44607:6:84"
                    },
                    "nativeSrc": "44607:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44607:21:84"
                  },
                  "nativeSrc": "44607:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44607:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44648:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44648:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44656:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44656:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44644:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44644:3:84"
                        },
                        "nativeSrc": "44644:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44644:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "44694:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "44694:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44698:2:84",
                                "nodeType": "YulLiteral",
                                "src": "44698:2:84",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44690:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "44690:3:84"
                            },
                            "nativeSrc": "44690:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "44690:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint24_fromMemory",
                          "nativeSrc": "44661:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "44661:28:84"
                        },
                        "nativeSrc": "44661:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44661:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44637:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44637:6:84"
                    },
                    "nativeSrc": "44637:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44637:66:84"
                  },
                  "nativeSrc": "44637:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44637:66:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44723:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44723:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44731:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44731:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44719:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44719:3:84"
                        },
                        "nativeSrc": "44719:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44719:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "44769:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "44769:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44773:2:84",
                                "nodeType": "YulLiteral",
                                "src": "44773:2:84",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44765:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "44765:3:84"
                            },
                            "nativeSrc": "44765:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "44765:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint72_fromMemory",
                          "nativeSrc": "44736:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "44736:28:84"
                        },
                        "nativeSrc": "44736:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44736:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44712:6:84"
                    },
                    "nativeSrc": "44712:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44712:66:84"
                  },
                  "nativeSrc": "44712:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44712:66:84"
                },
                {
                  "nativeSrc": "44787:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44787:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "44813:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "44813:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44817:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44817:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44809:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44809:3:84"
                        },
                        "nativeSrc": "44809:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44809:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44803:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "44803:5:84"
                    },
                    "nativeSrc": "44803:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44803:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "44791:8:84",
                      "nodeType": "YulTypedName",
                      "src": "44791:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44850:16:84",
                    "nodeType": "YulBlock",
                    "src": "44850:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "44859:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44859:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "44862:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44862:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "44852:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44852:6:84"
                          },
                          "nativeSrc": "44852:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44852:12:84"
                        },
                        "nativeSrc": "44852:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44852:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "44836:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "44836:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "44846:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "44846:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44833:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44833:2:84"
                    },
                    "nativeSrc": "44833:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44833:16:84"
                  },
                  "nativeSrc": "44830:36:84",
                  "nodeType": "YulIf",
                  "src": "44830:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44886:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44886:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44894:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44894:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44882:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44882:3:84"
                        },
                        "nativeSrc": "44882:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44882:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "44932:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "44932:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "44936:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "44936:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44928:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "44928:3:84"
                            },
                            "nativeSrc": "44928:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "44928:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "44947:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "44947:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "44899:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "44899:28:84"
                        },
                        "nativeSrc": "44899:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44899:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44875:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44875:6:84"
                    },
                    "nativeSrc": "44875:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44875:81:84"
                  },
                  "nativeSrc": "44875:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44875:81:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "44976:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44976:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44984:3:84",
                            "nodeType": "YulLiteral",
                            "src": "44984:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44972:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44972:3:84"
                        },
                        "nativeSrc": "44972:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44972:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "45000:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "45000:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45004:3:84",
                                "nodeType": "YulLiteral",
                                "src": "45004:3:84",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44996:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "44996:3:84"
                            },
                            "nativeSrc": "44996:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "44996:12:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "44990:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "44990:5:84"
                        },
                        "nativeSrc": "44990:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44990:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44965:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44965:6:84"
                    },
                    "nativeSrc": "44965:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44965:45:84"
                  },
                  "nativeSrc": "44965:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44965:45:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "45030:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45030:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45038:3:84",
                            "nodeType": "YulLiteral",
                            "src": "45038:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45026:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45026:3:84"
                        },
                        "nativeSrc": "45026:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45026:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "45086:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "45086:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45090:3:84",
                                "nodeType": "YulLiteral",
                                "src": "45090:3:84",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45082:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "45082:3:84"
                            },
                            "nativeSrc": "45082:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "45082:12:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "45096:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "45096:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_RadonSLA_fromMemory",
                          "nativeSrc": "45044:37:84",
                          "nodeType": "YulIdentifier",
                          "src": "45044:37:84"
                        },
                        "nativeSrc": "45044:60:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45044:60:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45019:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45019:6:84"
                    },
                    "nativeSrc": "45019:86:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45019:86:84"
                  },
                  "nativeSrc": "45019:86:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45019:86:84"
                },
                {
                  "nativeSrc": "45114:16:84",
                  "nodeType": "YulAssignment",
                  "src": "45114:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "45124:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "45124:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "45114:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45114:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Request_$23476_memory_ptr_fromMemory",
            "nativeSrc": "44069:1067:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44142:9:84",
                "nodeType": "YulTypedName",
                "src": "44142:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "44153:7:84",
                "nodeType": "YulTypedName",
                "src": "44153:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "44165:6:84",
                "nodeType": "YulTypedName",
                "src": "44165:6:84",
                "type": ""
              }
            ],
            "src": "44069:1067:84"
          },
          {
            "body": {
              "nativeSrc": "45334:248:84",
              "nodeType": "YulBlock",
              "src": "45334:248:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45351:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45351:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45362:2:84",
                        "nodeType": "YulLiteral",
                        "src": "45362:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45344:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45344:6:84"
                    },
                    "nativeSrc": "45344:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45344:21:84"
                  },
                  "nativeSrc": "45344:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45344:21:84"
                },
                {
                  "nativeSrc": "45374:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45374:76:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "45415:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "45415:6:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "45423:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "45423:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45435:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "45435:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45446:2:84",
                            "nodeType": "YulLiteral",
                            "src": "45446:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45431:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45431:3:84"
                        },
                        "nativeSrc": "45431:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45431:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "45388:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "45388:26:84"
                    },
                    "nativeSrc": "45388:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45388:62:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "45378:6:84",
                      "nodeType": "YulTypedName",
                      "src": "45378:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45470:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "45470:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45481:2:84",
                            "nodeType": "YulLiteral",
                            "src": "45481:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45466:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45466:3:84"
                        },
                        "nativeSrc": "45466:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45466:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "45490:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45490:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "45498:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "45498:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "45486:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45486:3:84"
                        },
                        "nativeSrc": "45486:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45486:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45459:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45459:6:84"
                    },
                    "nativeSrc": "45459:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45459:50:84"
                  },
                  "nativeSrc": "45459:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45459:50:84"
                },
                {
                  "nativeSrc": "45518:58:84",
                  "nodeType": "YulAssignment",
                  "src": "45518:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "45553:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "45553:6:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "45561:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "45561:6:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "45569:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "45569:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "45526:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "45526:26:84"
                    },
                    "nativeSrc": "45526:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45526:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "45518:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "45518:4:84"
                    }
                  ]
                }
              ]
            },
            "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": "45141:441:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45279:9:84",
                "nodeType": "YulTypedName",
                "src": "45279:9:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "45290:6:84",
                "nodeType": "YulTypedName",
                "src": "45290:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "45298:6:84",
                "nodeType": "YulTypedName",
                "src": "45298:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "45306:6:84",
                "nodeType": "YulTypedName",
                "src": "45306:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "45314:6:84",
                "nodeType": "YulTypedName",
                "src": "45314:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "45325:4:84",
                "nodeType": "YulTypedName",
                "src": "45325:4:84",
                "type": ""
              }
            ],
            "src": "45141:441:84"
          },
          {
            "body": {
              "nativeSrc": "45668:170:84",
              "nodeType": "YulBlock",
              "src": "45668:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "45714:16:84",
                    "nodeType": "YulBlock",
                    "src": "45714:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "45723:1:84",
                              "nodeType": "YulLiteral",
                              "src": "45723:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "45726:1:84",
                              "nodeType": "YulLiteral",
                              "src": "45726:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "45716:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45716:6:84"
                          },
                          "nativeSrc": "45716:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "45716:12:84"
                        },
                        "nativeSrc": "45716:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "45716:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "45689:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "45689:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "45698:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "45698:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "45685:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45685:3:84"
                        },
                        "nativeSrc": "45685:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45685:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45710:2:84",
                        "nodeType": "YulLiteral",
                        "src": "45710:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "45681:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "45681:3:84"
                    },
                    "nativeSrc": "45681:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45681:32:84"
                  },
                  "nativeSrc": "45678:52:84",
                  "nodeType": "YulIf",
                  "src": "45678:52:84"
                },
                {
                  "nativeSrc": "45739:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45739:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45758:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45758:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "45752:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "45752:5:84"
                    },
                    "nativeSrc": "45752:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45752:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "45743:5:84",
                      "nodeType": "YulTypedName",
                      "src": "45743:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "45802:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "45802:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "45777:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "45777:24:84"
                    },
                    "nativeSrc": "45777:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45777:31:84"
                  },
                  "nativeSrc": "45777:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45777:31:84"
                },
                {
                  "nativeSrc": "45817:15:84",
                  "nodeType": "YulAssignment",
                  "src": "45817:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "45827:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "45827:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "45817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "45587:251:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45634:9:84",
                "nodeType": "YulTypedName",
                "src": "45634:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "45645:7:84",
                "nodeType": "YulTypedName",
                "src": "45645:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "45657:6:84",
                "nodeType": "YulTypedName",
                "src": "45657:6:84",
                "type": ""
              }
            ],
            "src": "45587:251:84"
          },
          {
            "body": {
              "nativeSrc": "46028:228:84",
              "nodeType": "YulBlock",
              "src": "46028:228:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46045:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "46045:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "46060:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "46060:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46076:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "46076:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46081:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "46081:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "46072:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "46072:3:84"
                                },
                                "nativeSrc": "46072:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "46072:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "46085:1:84",
                                "nodeType": "YulLiteral",
                                "src": "46085:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "46068:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "46068:3:84"
                            },
                            "nativeSrc": "46068:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "46068:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46056:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46056:3:84"
                        },
                        "nativeSrc": "46056:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46056:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46038:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46038:6:84"
                    },
                    "nativeSrc": "46038:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46038:51:84"
                  },
                  "nativeSrc": "46038:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46038:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46109:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46109:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46120:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46120:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46105:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46105:3:84"
                        },
                        "nativeSrc": "46105:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46105:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "46125:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "46125:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46098:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46098:6:84"
                    },
                    "nativeSrc": "46098:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46098:34:84"
                  },
                  "nativeSrc": "46098:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46098:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46152:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46152:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46163:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46163:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46148:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46148:3:84"
                        },
                        "nativeSrc": "46148:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46148:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46168:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46168:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46141:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46141:6:84"
                    },
                    "nativeSrc": "46141:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46141:30:84"
                  },
                  "nativeSrc": "46141:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46141:30:84"
                },
                {
                  "nativeSrc": "46180:70:84",
                  "nodeType": "YulAssignment",
                  "src": "46180:70:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "46215:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "46215:6:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "46223:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "46223:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46235:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46235:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46246:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46246:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46231:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46231:3:84"
                        },
                        "nativeSrc": "46231:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46231:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "46188:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "46188:26:84"
                    },
                    "nativeSrc": "46188:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46188:62:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "46180:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "46180:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_bytes32_t_bytes_calldata_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "45843:413:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45973:9:84",
                "nodeType": "YulTypedName",
                "src": "45973:9:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "45984:6:84",
                "nodeType": "YulTypedName",
                "src": "45984:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "45992:6:84",
                "nodeType": "YulTypedName",
                "src": "45992:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "46000:6:84",
                "nodeType": "YulTypedName",
                "src": "46000:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "46008:6:84",
                "nodeType": "YulTypedName",
                "src": "46008:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46019:4:84",
                "nodeType": "YulTypedName",
                "src": "46019:4:84",
                "type": ""
              }
            ],
            "src": "45843:413:84"
          },
          {
            "body": {
              "nativeSrc": "46358:417:84",
              "nodeType": "YulBlock",
              "src": "46358:417:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "46404:16:84",
                    "nodeType": "YulBlock",
                    "src": "46404:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "46413:1:84",
                              "nodeType": "YulLiteral",
                              "src": "46413:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "46416:1:84",
                              "nodeType": "YulLiteral",
                              "src": "46416:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "46406:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "46406:6:84"
                          },
                          "nativeSrc": "46406:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "46406:12:84"
                        },
                        "nativeSrc": "46406:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "46406:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "46379:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "46379:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "46388:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46388:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "46375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46375:3:84"
                        },
                        "nativeSrc": "46375:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46375:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46400:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46400:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "46371:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "46371:3:84"
                    },
                    "nativeSrc": "46371:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46371:32:84"
                  },
                  "nativeSrc": "46368:52:84",
                  "nodeType": "YulIf",
                  "src": "46368:52:84"
                },
                {
                  "nativeSrc": "46429:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46429:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "46449:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46449:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "46443:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "46443:5:84"
                    },
                    "nativeSrc": "46443:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46443:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "46433:6:84",
                      "nodeType": "YulTypedName",
                      "src": "46433:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "46486:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "46486:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_9064",
                      "nativeSrc": "46461:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "46461:24:84"
                    },
                    "nativeSrc": "46461:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46461:32:84"
                  },
                  "nativeSrc": "46461:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46461:32:84"
                },
                {
                  "nativeSrc": "46502:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46502:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46528:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "46528:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "46515:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "46515:12:84"
                    },
                    "nativeSrc": "46515:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46515:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "46506:5:84",
                      "nodeType": "YulTypedName",
                      "src": "46506:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "46570:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "46570:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "46547:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "46547:22:84"
                    },
                    "nativeSrc": "46547:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46547:29:84"
                  },
                  "nativeSrc": "46547:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46547:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "46592:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "46592:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "46600:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "46600:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46585:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46585:6:84"
                    },
                    "nativeSrc": "46585:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46585:21:84"
                  },
                  "nativeSrc": "46585:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46585:21:84"
                },
                {
                  "nativeSrc": "46615:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46615:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46647:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46647:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46658:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46658:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46643:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46643:3:84"
                        },
                        "nativeSrc": "46643:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46643:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "46630:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "46630:12:84"
                    },
                    "nativeSrc": "46630:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46630:32:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "46619:7:84",
                      "nodeType": "YulTypedName",
                      "src": "46619:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "46695:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "46695:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "46671:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "46671:23:84"
                    },
                    "nativeSrc": "46671:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46671:32:84"
                  },
                  "nativeSrc": "46671:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46671:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "46723:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "46723:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46731:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46731:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46719:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46719:3:84"
                        },
                        "nativeSrc": "46719:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46719:15:84"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "46736:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "46736:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46712:6:84"
                    },
                    "nativeSrc": "46712:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46712:32:84"
                  },
                  "nativeSrc": "46712:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46712:32:84"
                },
                {
                  "nativeSrc": "46753:16:84",
                  "nodeType": "YulAssignment",
                  "src": "46753:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "46763:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "46763:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "46753:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46753:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLA_$23503_memory_ptr",
            "nativeSrc": "46261:514:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46324:9:84",
                "nodeType": "YulTypedName",
                "src": "46324:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "46335:7:84",
                "nodeType": "YulTypedName",
                "src": "46335:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "46347:6:84",
                "nodeType": "YulTypedName",
                "src": "46347:6:84",
                "type": ""
              }
            ],
            "src": "46261:514:84"
          },
          {
            "body": {
              "nativeSrc": "46954:223:84",
              "nodeType": "YulBlock",
              "src": "46954:223:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46971:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "46971:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46982:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46982:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46964:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46964:6:84"
                    },
                    "nativeSrc": "46964:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46964:21:84"
                  },
                  "nativeSrc": "46964:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46964:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47005:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47005:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47016:2:84",
                            "nodeType": "YulLiteral",
                            "src": "47016:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47001:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47001:3:84"
                        },
                        "nativeSrc": "47001:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47001:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47021:2:84",
                        "nodeType": "YulLiteral",
                        "src": "47021:2:84",
                        "type": "",
                        "value": "33"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46994:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46994:6:84"
                    },
                    "nativeSrc": "46994:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46994:30:84"
                  },
                  "nativeSrc": "46994:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46994:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47044:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47044:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47055:2:84",
                            "nodeType": "YulLiteral",
                            "src": "47055:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47040:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47040:3:84"
                        },
                        "nativeSrc": "47040:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47040:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e736563757265207570646174",
                        "kind": "string",
                        "nativeSrc": "47060:34:84",
                        "nodeType": "YulLiteral",
                        "src": "47060:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: unsecure updat"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47033:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47033:6:84"
                    },
                    "nativeSrc": "47033:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47033:62:84"
                  },
                  "nativeSrc": "47033:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "47033:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47115:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47115:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47126:2:84",
                            "nodeType": "YulLiteral",
                            "src": "47126:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47111:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47111:3:84"
                        },
                        "nativeSrc": "47111:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47111:18:84"
                      },
                      {
                        "hexValue": "65",
                        "kind": "string",
                        "nativeSrc": "47131:3:84",
                        "nodeType": "YulLiteral",
                        "src": "47131:3:84",
                        "type": "",
                        "value": "e"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47104:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47104:6:84"
                    },
                    "nativeSrc": "47104:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47104:31:84"
                  },
                  "nativeSrc": "47104:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "47104:31:84"
                },
                {
                  "nativeSrc": "47144:27:84",
                  "nodeType": "YulAssignment",
                  "src": "47144:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47156:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "47156:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47167:3:84",
                        "nodeType": "YulLiteral",
                        "src": "47167:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47152:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47152:3:84"
                    },
                    "nativeSrc": "47152:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47152:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "47144:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "47144:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_530619d6beb9c7e1863b6c608548da797cf5310e6c7ed16e3835858950597c54__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "46780:397:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46931:9:84",
                "nodeType": "YulTypedName",
                "src": "46931:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46945:4:84",
                "nodeType": "YulTypedName",
                "src": "46945:4:84",
                "type": ""
              }
            ],
            "src": "46780:397:84"
          },
          {
            "body": {
              "nativeSrc": "47263:103:84",
              "nodeType": "YulBlock",
              "src": "47263:103:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "47309:16:84",
                    "nodeType": "YulBlock",
                    "src": "47309:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "47318:1:84",
                              "nodeType": "YulLiteral",
                              "src": "47318:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "47321:1:84",
                              "nodeType": "YulLiteral",
                              "src": "47321:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "47311:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "47311:6:84"
                          },
                          "nativeSrc": "47311:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "47311:12:84"
                        },
                        "nativeSrc": "47311:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "47311:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "47284:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "47284:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "47293:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47293:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "47280:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47280:3:84"
                        },
                        "nativeSrc": "47280:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47280:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47305:2:84",
                        "nodeType": "YulLiteral",
                        "src": "47305:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "47276:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47276:3:84"
                    },
                    "nativeSrc": "47276:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47276:32:84"
                  },
                  "nativeSrc": "47273:52:84",
                  "nodeType": "YulIf",
                  "src": "47273:52:84"
                },
                {
                  "nativeSrc": "47334:26:84",
                  "nodeType": "YulAssignment",
                  "src": "47334:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47350:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "47350:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "47344:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "47344:5:84"
                    },
                    "nativeSrc": "47344:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47344:16:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "47334:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47334:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32_fromMemory",
            "nativeSrc": "47182:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47229:9:84",
                "nodeType": "YulTypedName",
                "src": "47229:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "47240:7:84",
                "nodeType": "YulTypedName",
                "src": "47240:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "47252:6:84",
                "nodeType": "YulTypedName",
                "src": "47252:6:84",
                "type": ""
              }
            ],
            "src": "47182:184:84"
          },
          {
            "body": {
              "nativeSrc": "47418:121:84",
              "nodeType": "YulBlock",
              "src": "47418:121:84",
              "statements": [
                {
                  "nativeSrc": "47428:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47428:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "47438:6:84",
                    "nodeType": "YulLiteral",
                    "src": "47438:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "47432:2:84",
                      "nodeType": "YulTypedName",
                      "src": "47432:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "47453:34:84",
                  "nodeType": "YulAssignment",
                  "src": "47453:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "47468:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "47468:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "47471:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "47471:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47464:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47464:3:84"
                        },
                        "nativeSrc": "47464:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47464:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "47480:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "47480:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "47483:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "47483:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47476:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47476:3:84"
                        },
                        "nativeSrc": "47476:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47476:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47460:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47460:3:84"
                    },
                    "nativeSrc": "47460:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47460:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "47453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47453:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "47511:22:84",
                    "nodeType": "YulBlock",
                    "src": "47511:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "47513:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "47513:16:84"
                          },
                          "nativeSrc": "47513:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "47513:18:84"
                        },
                        "nativeSrc": "47513:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "47513:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "47502:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "47502:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "47507:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "47507:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "47499:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "47499:2:84"
                    },
                    "nativeSrc": "47499:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47499:11:84"
                  },
                  "nativeSrc": "47496:37:84",
                  "nodeType": "YulIf",
                  "src": "47496:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "47371:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "47401:1:84",
                "nodeType": "YulTypedName",
                "src": "47401:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "47404:1:84",
                "nodeType": "YulTypedName",
                "src": "47404:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "47410:3:84",
                "nodeType": "YulTypedName",
                "src": "47410:3:84",
                "type": ""
              }
            ],
            "src": "47371:168:84"
          },
          {
            "body": {
              "nativeSrc": "47681:132:84",
              "nodeType": "YulBlock",
              "src": "47681:132:84",
              "statements": [
                {
                  "nativeSrc": "47691:26:84",
                  "nodeType": "YulAssignment",
                  "src": "47691:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47703:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "47703:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47714:2:84",
                        "nodeType": "YulLiteral",
                        "src": "47714:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47699:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47699:3:84"
                    },
                    "nativeSrc": "47699:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47699:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "47691:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "47691:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47733:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "47733:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "47744:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "47744:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47726:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47726:6:84"
                    },
                    "nativeSrc": "47726:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47726:25:84"
                  },
                  "nativeSrc": "47726:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "47726:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47771:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47771:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47782:2:84",
                            "nodeType": "YulLiteral",
                            "src": "47782:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47767:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47767:3:84"
                        },
                        "nativeSrc": "47767:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47767:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "47791:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "47791:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47799:6:84",
                            "nodeType": "YulLiteral",
                            "src": "47799:6:84",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47787:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47787:3:84"
                        },
                        "nativeSrc": "47787:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47787:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47760:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47760:6:84"
                    },
                    "nativeSrc": "47760:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47760:47:84"
                  },
                  "nativeSrc": "47760:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "47760:47:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_rational_32_by_1__to_t_uint256_t_uint16__fromStack_reversed",
            "nativeSrc": "47544:269:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47642:9:84",
                "nodeType": "YulTypedName",
                "src": "47642:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "47653:6:84",
                "nodeType": "YulTypedName",
                "src": "47653:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "47661:6:84",
                "nodeType": "YulTypedName",
                "src": "47661:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "47672:4:84",
                "nodeType": "YulTypedName",
                "src": "47672:4:84",
                "type": ""
              }
            ],
            "src": "47544:269:84"
          },
          {
            "body": {
              "nativeSrc": "47899:103:84",
              "nodeType": "YulBlock",
              "src": "47899:103:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "47945:16:84",
                    "nodeType": "YulBlock",
                    "src": "47945:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "47954:1:84",
                              "nodeType": "YulLiteral",
                              "src": "47954:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "47957:1:84",
                              "nodeType": "YulLiteral",
                              "src": "47957:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "47947:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "47947:6:84"
                          },
                          "nativeSrc": "47947:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "47947:12:84"
                        },
                        "nativeSrc": "47947:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "47947:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "47920:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "47920:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "47929:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "47929:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "47916:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "47916:3:84"
                        },
                        "nativeSrc": "47916:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "47916:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47941:2:84",
                        "nodeType": "YulLiteral",
                        "src": "47941:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "47912:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "47912:3:84"
                    },
                    "nativeSrc": "47912:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47912:32:84"
                  },
                  "nativeSrc": "47909:52:84",
                  "nodeType": "YulIf",
                  "src": "47909:52:84"
                },
                {
                  "nativeSrc": "47970:26:84",
                  "nodeType": "YulAssignment",
                  "src": "47970:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47986:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "47986:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "47980:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "47980:5:84"
                    },
                    "nativeSrc": "47980:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "47980:16:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "47970:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "47970:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256_fromMemory",
            "nativeSrc": "47818:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47865:9:84",
                "nodeType": "YulTypedName",
                "src": "47865:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "47876:7:84",
                "nodeType": "YulTypedName",
                "src": "47876:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "47888:6:84",
                "nodeType": "YulTypedName",
                "src": "47888:6:84",
                "type": ""
              }
            ],
            "src": "47818:184:84"
          },
          {
            "body": {
              "nativeSrc": "48059:116:84",
              "nodeType": "YulBlock",
              "src": "48059:116:84",
              "statements": [
                {
                  "nativeSrc": "48069:20:84",
                  "nodeType": "YulAssignment",
                  "src": "48069:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "48084:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "48084:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "48087:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "48087:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "48080:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "48080:3:84"
                    },
                    "nativeSrc": "48080:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48080:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "48069:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "48069:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "48147:22:84",
                    "nodeType": "YulBlock",
                    "src": "48147:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "48149:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "48149:16:84"
                          },
                          "nativeSrc": "48149:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "48149:18:84"
                        },
                        "nativeSrc": "48149:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "48149:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "48118:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "48118:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "48111:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "48111:6:84"
                            },
                            "nativeSrc": "48111:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "48111:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "48125:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "48125:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "48132:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "48132:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "48141:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "48141:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "48128:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "48128:3:84"
                                },
                                "nativeSrc": "48128:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "48128:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "48122:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "48122:2:84"
                            },
                            "nativeSrc": "48122:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "48122:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "48108:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "48108:2:84"
                        },
                        "nativeSrc": "48108:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "48108:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "48101:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48101:6:84"
                    },
                    "nativeSrc": "48101:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48101:45:84"
                  },
                  "nativeSrc": "48098:71:84",
                  "nodeType": "YulIf",
                  "src": "48098:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "48007:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "48038:1:84",
                "nodeType": "YulTypedName",
                "src": "48038:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "48041:1:84",
                "nodeType": "YulTypedName",
                "src": "48041:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "48047:7:84",
                "nodeType": "YulTypedName",
                "src": "48047:7:84",
                "type": ""
              }
            ],
            "src": "48007:168:84"
          },
          {
            "body": {
              "nativeSrc": "48212:95:84",
              "nodeType": "YulBlock",
              "src": "48212:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "48229:1:84",
                        "nodeType": "YulLiteral",
                        "src": "48229:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "48236:3:84",
                            "nodeType": "YulLiteral",
                            "src": "48236:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48241:10:84",
                            "nodeType": "YulLiteral",
                            "src": "48241:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "48232:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "48232:3:84"
                        },
                        "nativeSrc": "48232:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "48232:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48222:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48222:6:84"
                    },
                    "nativeSrc": "48222:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48222:31:84"
                  },
                  "nativeSrc": "48222:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "48222:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "48269:1:84",
                        "nodeType": "YulLiteral",
                        "src": "48269:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48272:4:84",
                        "nodeType": "YulLiteral",
                        "src": "48272:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48262:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48262:6:84"
                    },
                    "nativeSrc": "48262:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48262:15:84"
                  },
                  "nativeSrc": "48262:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "48262:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "48293:1:84",
                        "nodeType": "YulLiteral",
                        "src": "48293:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48296:4:84",
                        "nodeType": "YulLiteral",
                        "src": "48296:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "48286:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48286:6:84"
                    },
                    "nativeSrc": "48286:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48286:15:84"
                  },
                  "nativeSrc": "48286:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "48286:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "48180:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "48180:127:84"
          },
          {
            "body": {
              "nativeSrc": "48358:74:84",
              "nodeType": "YulBlock",
              "src": "48358:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "48381:22:84",
                    "nodeType": "YulBlock",
                    "src": "48381:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "48383:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "48383:16:84"
                          },
                          "nativeSrc": "48383:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "48383:18:84"
                        },
                        "nativeSrc": "48383:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "48383:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "48378:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "48378:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "48371:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48371:6:84"
                    },
                    "nativeSrc": "48371:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48371:9:84"
                  },
                  "nativeSrc": "48368:35:84",
                  "nodeType": "YulIf",
                  "src": "48368:35:84"
                },
                {
                  "nativeSrc": "48412:14:84",
                  "nodeType": "YulAssignment",
                  "src": "48412:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "48421:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "48421:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "48424:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "48424:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "48417:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "48417:3:84"
                    },
                    "nativeSrc": "48417:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48417:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "48412:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "48412:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint256",
            "nativeSrc": "48312:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "48343:1:84",
                "nodeType": "YulTypedName",
                "src": "48343:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "48346:1:84",
                "nodeType": "YulTypedName",
                "src": "48346:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "48352:1:84",
                "nodeType": "YulTypedName",
                "src": "48352:1:84",
                "type": ""
              }
            ],
            "src": "48312:120:84"
          },
          {
            "body": {
              "nativeSrc": "48677:210:84",
              "nodeType": "YulBlock",
              "src": "48677:210:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "48694:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "48694:3:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20",
                        "kind": "string",
                        "nativeSrc": "48699:20:84",
                        "nodeType": "YulLiteral",
                        "src": "48699:20:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48687:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "48687:6:84"
                    },
                    "nativeSrc": "48687:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48687:33:84"
                  },
                  "nativeSrc": "48687:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "48687:33:84"
                },
                {
                  "nativeSrc": "48729:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48729:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "48749:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "48749:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48743:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "48743:5:84"
                    },
                    "nativeSrc": "48743:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48743:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "48733:6:84",
                      "nodeType": "YulTypedName",
                      "src": "48733:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "48804:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "48804:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48812:4:84",
                            "nodeType": "YulLiteral",
                            "src": "48812:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48800:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "48800:3:84"
                        },
                        "nativeSrc": "48800:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "48800:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "48823:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "48823:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48828:2:84",
                            "nodeType": "YulLiteral",
                            "src": "48828:2:84",
                            "type": "",
                            "value": "18"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48819:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "48819:3:84"
                        },
                        "nativeSrc": "48819:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "48819:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "48833:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "48833:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "48765:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "48765:34:84"
                    },
                    "nativeSrc": "48765:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48765:75:84"
                  },
                  "nativeSrc": "48765:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "48765:75:84"
                },
                {
                  "nativeSrc": "48849:32:84",
                  "nodeType": "YulAssignment",
                  "src": "48849:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "48864:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "48864:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "48869:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "48869:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48860:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "48860:3:84"
                        },
                        "nativeSrc": "48860:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "48860:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48878:2:84",
                        "nodeType": "YulLiteral",
                        "src": "48878:2:84",
                        "type": "",
                        "value": "18"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "48856:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "48856:3:84"
                    },
                    "nativeSrc": "48856:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48856:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "48849:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "48849:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "48437:450:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "48653:3:84",
                "nodeType": "YulTypedName",
                "src": "48653:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "48658:6:84",
                "nodeType": "YulTypedName",
                "src": "48658:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "48669:3:84",
                "nodeType": "YulTypedName",
                "src": "48669:3:84",
                "type": ""
              }
            ],
            "src": "48437:450:84"
          },
          {
            "body": {
              "nativeSrc": "48964:87:84",
              "nodeType": "YulBlock",
              "src": "48964:87:84",
              "statements": [
                {
                  "nativeSrc": "48974:22:84",
                  "nodeType": "YulAssignment",
                  "src": "48974:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "48989:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "48989:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48983:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "48983:5:84"
                    },
                    "nativeSrc": "48983:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "48983:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "48974:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "48974:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "49029:16:84",
                    "nodeType": "YulBlock",
                    "src": "49029:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "49038:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49038:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "49041:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49041:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "49031:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49031:6:84"
                          },
                          "nativeSrc": "49031:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "49031:12:84"
                        },
                        "nativeSrc": "49031:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "49031:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "49018:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "49018:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49025:1:84",
                            "nodeType": "YulLiteral",
                            "src": "49025:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "49015:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "49015:2:84"
                        },
                        "nativeSrc": "49015:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49015:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "49008:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49008:6:84"
                    },
                    "nativeSrc": "49008:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49008:20:84"
                  },
                  "nativeSrc": "49005:40:84",
                  "nodeType": "YulIf",
                  "src": "49005:40:84"
                }
              ]
            },
            "name": "abi_decode_enum_ResponseStatus_fromMemory",
            "nativeSrc": "48892:159:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "48943:6:84",
                "nodeType": "YulTypedName",
                "src": "48943:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "48954:5:84",
                "nodeType": "YulTypedName",
                "src": "48954:5:84",
                "type": ""
              }
            ],
            "src": "48892:159:84"
          },
          {
            "body": {
              "nativeSrc": "49161:551:84",
              "nodeType": "YulBlock",
              "src": "49161:551:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "49208:16:84",
                    "nodeType": "YulBlock",
                    "src": "49208:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "49217:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49217:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "49220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49220:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "49210:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49210:6:84"
                          },
                          "nativeSrc": "49210:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "49210:12:84"
                        },
                        "nativeSrc": "49210:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "49210:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "49182:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "49182:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "49191:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "49191:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "49178:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "49178:3:84"
                        },
                        "nativeSrc": "49178:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49178:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49203:3:84",
                        "nodeType": "YulLiteral",
                        "src": "49203:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "49174:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "49174:3:84"
                    },
                    "nativeSrc": "49174:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49174:33:84"
                  },
                  "nativeSrc": "49171:53:84",
                  "nodeType": "YulIf",
                  "src": "49171:53:84"
                },
                {
                  "nativeSrc": "49233:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49233:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "49253:2:84",
                        "nodeType": "YulLiteral",
                        "src": "49253:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "49247:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "49247:5:84"
                    },
                    "nativeSrc": "49247:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49247:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "49237:6:84",
                      "nodeType": "YulTypedName",
                      "src": "49237:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "49265:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49265:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "49287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "49287:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49295:3:84",
                        "nodeType": "YulLiteral",
                        "src": "49295:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "49283:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "49283:3:84"
                    },
                    "nativeSrc": "49283:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49283:16:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "49269:10:84",
                      "nodeType": "YulTypedName",
                      "src": "49269:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "49374:22:84",
                    "nodeType": "YulBlock",
                    "src": "49374:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "49376:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "49376:16:84"
                          },
                          "nativeSrc": "49376:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "49376:18:84"
                        },
                        "nativeSrc": "49376:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "49376:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "49317:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "49317:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49329:18:84",
                            "nodeType": "YulLiteral",
                            "src": "49329:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "49314:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "49314:2:84"
                        },
                        "nativeSrc": "49314:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49314:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "49353:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "49353:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "49365:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49365:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "49350:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "49350:2:84"
                        },
                        "nativeSrc": "49350:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49350:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "49311:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "49311:2:84"
                    },
                    "nativeSrc": "49311:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49311:62:84"
                  },
                  "nativeSrc": "49308:88:84",
                  "nodeType": "YulIf",
                  "src": "49308:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "49412:2:84",
                        "nodeType": "YulLiteral",
                        "src": "49412:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "49416:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "49416:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49405:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49405:6:84"
                    },
                    "nativeSrc": "49405:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49405:22:84"
                  },
                  "nativeSrc": "49405:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "49405:22:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "49443:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "49443:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49457:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "49457:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "49451:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "49451:5:84"
                        },
                        "nativeSrc": "49451:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49451:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49436:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49436:6:84"
                    },
                    "nativeSrc": "49436:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49436:32:84"
                  },
                  "nativeSrc": "49436:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "49436:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "49488:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49488:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49496:2:84",
                            "nodeType": "YulLiteral",
                            "src": "49496:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49484:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "49484:3:84"
                        },
                        "nativeSrc": "49484:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49484:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "49511:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "49511:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49522:2:84",
                                "nodeType": "YulLiteral",
                                "src": "49522:2:84",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "49507:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "49507:3:84"
                            },
                            "nativeSrc": "49507:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "49507:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "49501:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "49501:5:84"
                        },
                        "nativeSrc": "49501:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49501:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49477:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49477:6:84"
                    },
                    "nativeSrc": "49477:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49477:50:84"
                  },
                  "nativeSrc": "49477:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "49477:50:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "49547:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49547:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49555:2:84",
                            "nodeType": "YulLiteral",
                            "src": "49555:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49543:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "49543:3:84"
                        },
                        "nativeSrc": "49543:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49543:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "49570:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "49570:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49581:2:84",
                                "nodeType": "YulLiteral",
                                "src": "49581:2:84",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "49566:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "49566:3:84"
                            },
                            "nativeSrc": "49566:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "49566:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "49560:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "49560:5:84"
                        },
                        "nativeSrc": "49560:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49560:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49536:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49536:6:84"
                    },
                    "nativeSrc": "49536:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49536:50:84"
                  },
                  "nativeSrc": "49536:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "49536:50:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "49606:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49606:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49614:2:84",
                            "nodeType": "YulLiteral",
                            "src": "49614:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49602:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "49602:3:84"
                        },
                        "nativeSrc": "49602:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49602:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "49665:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "49665:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49676:2:84",
                                "nodeType": "YulLiteral",
                                "src": "49676:2:84",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "49661:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "49661:3:84"
                            },
                            "nativeSrc": "49661:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "49661:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_ResponseStatus_fromMemory",
                          "nativeSrc": "49619:41:84",
                          "nodeType": "YulIdentifier",
                          "src": "49619:41:84"
                        },
                        "nativeSrc": "49619:61:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49619:61:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49595:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49595:6:84"
                    },
                    "nativeSrc": "49595:86:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49595:86:84"
                  },
                  "nativeSrc": "49595:86:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "49595:86:84"
                },
                {
                  "nativeSrc": "49690:16:84",
                  "nodeType": "YulAssignment",
                  "src": "49690:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "49700:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "49700:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "49690:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "49690:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$13453_memory_ptr_fromMemory",
            "nativeSrc": "49056:656:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49127:9:84",
                "nodeType": "YulTypedName",
                "src": "49127:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "49138:7:84",
                "nodeType": "YulTypedName",
                "src": "49138:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "49150:6:84",
                "nodeType": "YulTypedName",
                "src": "49150:6:84",
                "type": ""
              }
            ],
            "src": "49056:656:84"
          },
          {
            "body": {
              "nativeSrc": "49825:996:84",
              "nodeType": "YulBlock",
              "src": "49825:996:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "49871:16:84",
                    "nodeType": "YulBlock",
                    "src": "49871:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "49880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49880:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "49883:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49883:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "49873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49873:6:84"
                          },
                          "nativeSrc": "49873:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "49873:12:84"
                        },
                        "nativeSrc": "49873:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "49873:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "49846:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "49846:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "49855:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "49855:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "49842:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "49842:3:84"
                        },
                        "nativeSrc": "49842:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "49842:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49867:2:84",
                        "nodeType": "YulLiteral",
                        "src": "49867:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "49838:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "49838:3:84"
                    },
                    "nativeSrc": "49838:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49838:32:84"
                  },
                  "nativeSrc": "49835:52:84",
                  "nodeType": "YulIf",
                  "src": "49835:52:84"
                },
                {
                  "nativeSrc": "49896:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49896:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49916:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "49916:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "49910:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "49910:5:84"
                    },
                    "nativeSrc": "49910:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49910:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "49900:6:84",
                      "nodeType": "YulTypedName",
                      "src": "49900:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "49935:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49935:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "49945:18:84",
                    "nodeType": "YulLiteral",
                    "src": "49945:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "49939:2:84",
                      "nodeType": "YulTypedName",
                      "src": "49939:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "49990:16:84",
                    "nodeType": "YulBlock",
                    "src": "49990:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "49999:1:84",
                              "nodeType": "YulLiteral",
                              "src": "49999:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50002:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50002:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "49992:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "49992:6:84"
                          },
                          "nativeSrc": "49992:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "49992:12:84"
                        },
                        "nativeSrc": "49992:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "49992:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "49978:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "49978:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "49986:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "49986:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "49975:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "49975:2:84"
                    },
                    "nativeSrc": "49975:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "49975:14:84"
                  },
                  "nativeSrc": "49972:34:84",
                  "nodeType": "YulIf",
                  "src": "49972:34:84"
                },
                {
                  "nativeSrc": "50015:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50015:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50029:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "50029:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "50040:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "50040:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50025:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "50025:3:84"
                    },
                    "nativeSrc": "50025:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50025:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "50019:2:84",
                      "nodeType": "YulTypedName",
                      "src": "50019:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50087:16:84",
                    "nodeType": "YulBlock",
                    "src": "50087:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "50096:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50096:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50099:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50099:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "50089:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50089:6:84"
                          },
                          "nativeSrc": "50089:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "50089:12:84"
                        },
                        "nativeSrc": "50089:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "50089:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "50067:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "50067:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "50076:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "50076:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "50063:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50063:3:84"
                        },
                        "nativeSrc": "50063:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50063:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50081:4:84",
                        "nodeType": "YulLiteral",
                        "src": "50081:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "50059:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "50059:3:84"
                    },
                    "nativeSrc": "50059:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50059:27:84"
                  },
                  "nativeSrc": "50056:47:84",
                  "nodeType": "YulIf",
                  "src": "50056:47:84"
                },
                {
                  "nativeSrc": "50112:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50112:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "50132:2:84",
                        "nodeType": "YulLiteral",
                        "src": "50132:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50126:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "50126:5:84"
                    },
                    "nativeSrc": "50126:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50126:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "50116:6:84",
                      "nodeType": "YulTypedName",
                      "src": "50116:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "50169:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "50169:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_9078",
                      "nativeSrc": "50144:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "50144:24:84"
                    },
                    "nativeSrc": "50144:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50144:32:84"
                  },
                  "nativeSrc": "50144:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50144:32:84"
                },
                {
                  "nativeSrc": "50185:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50185:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "50204:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "50204:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50198:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "50198:5:84"
                    },
                    "nativeSrc": "50198:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50198:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "50189:5:84",
                      "nodeType": "YulTypedName",
                      "src": "50189:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "50241:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "50241:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "50216:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "50216:24:84"
                    },
                    "nativeSrc": "50216:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50216:31:84"
                  },
                  "nativeSrc": "50216:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50216:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "50263:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "50263:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "50271:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "50271:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50256:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50256:6:84"
                    },
                    "nativeSrc": "50256:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50256:21:84"
                  },
                  "nativeSrc": "50256:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50256:21:84"
                },
                {
                  "nativeSrc": "50286:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50286:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "50311:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "50311:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50315:2:84",
                            "nodeType": "YulLiteral",
                            "src": "50315:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50307:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50307:3:84"
                        },
                        "nativeSrc": "50307:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50307:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50301:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "50301:5:84"
                    },
                    "nativeSrc": "50301:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50301:18:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "50290:7:84",
                      "nodeType": "YulTypedName",
                      "src": "50290:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "50352:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "50352:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "50328:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "50328:23:84"
                    },
                    "nativeSrc": "50328:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50328:32:84"
                  },
                  "nativeSrc": "50328:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50328:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "50380:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50380:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50388:2:84",
                            "nodeType": "YulLiteral",
                            "src": "50388:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50376:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50376:3:84"
                        },
                        "nativeSrc": "50376:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50376:15:84"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "50393:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "50393:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50369:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50369:6:84"
                    },
                    "nativeSrc": "50369:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50369:32:84"
                  },
                  "nativeSrc": "50369:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50369:32:84"
                },
                {
                  "nativeSrc": "50410:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50410:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "50435:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "50435:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50439:2:84",
                            "nodeType": "YulLiteral",
                            "src": "50439:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50431:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50431:3:84"
                        },
                        "nativeSrc": "50431:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50431:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50425:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "50425:5:84"
                    },
                    "nativeSrc": "50425:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50425:18:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "50414:7:84",
                      "nodeType": "YulTypedName",
                      "src": "50414:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50501:16:84",
                    "nodeType": "YulBlock",
                    "src": "50501:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "50510:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50510:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50513:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50513:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "50503:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50503:6:84"
                          },
                          "nativeSrc": "50503:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "50503:12:84"
                        },
                        "nativeSrc": "50503:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "50503:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "50465:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "50465:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value_2",
                                "nativeSrc": "50478:7:84",
                                "nodeType": "YulIdentifier",
                                "src": "50478:7:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50487:10:84",
                                "nodeType": "YulLiteral",
                                "src": "50487:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "50474:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "50474:3:84"
                            },
                            "nativeSrc": "50474:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "50474:24:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "50462:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "50462:2:84"
                        },
                        "nativeSrc": "50462:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50462:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "50455:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50455:6:84"
                    },
                    "nativeSrc": "50455:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50455:45:84"
                  },
                  "nativeSrc": "50452:65:84",
                  "nodeType": "YulIf",
                  "src": "50452:65:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "50537:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50537:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50545:2:84",
                            "nodeType": "YulLiteral",
                            "src": "50545:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50533:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50533:3:84"
                        },
                        "nativeSrc": "50533:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50533:15:84"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "50550:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "50550:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50526:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50526:6:84"
                    },
                    "nativeSrc": "50526:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50526:32:84"
                  },
                  "nativeSrc": "50526:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50526:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "50578:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50578:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50586:2:84",
                            "nodeType": "YulLiteral",
                            "src": "50586:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50574:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50574:3:84"
                        },
                        "nativeSrc": "50574:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50574:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "50601:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "50601:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50605:2:84",
                                "nodeType": "YulLiteral",
                                "src": "50605:2:84",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "50597:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "50597:3:84"
                            },
                            "nativeSrc": "50597:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "50597:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "50591:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "50591:5:84"
                        },
                        "nativeSrc": "50591:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50591:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50567:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50567:6:84"
                    },
                    "nativeSrc": "50567:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50567:43:84"
                  },
                  "nativeSrc": "50567:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50567:43:84"
                },
                {
                  "nativeSrc": "50619:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "50619:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "50645:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "50645:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50649:3:84",
                            "nodeType": "YulLiteral",
                            "src": "50649:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50641:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50641:3:84"
                        },
                        "nativeSrc": "50641:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50641:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "50635:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "50635:5:84"
                    },
                    "nativeSrc": "50635:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50635:19:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "50623:8:84",
                      "nodeType": "YulTypedName",
                      "src": "50623:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "50683:16:84",
                    "nodeType": "YulBlock",
                    "src": "50683:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "50692:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50692:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "50695:1:84",
                              "nodeType": "YulLiteral",
                              "src": "50695:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "50685:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50685:6:84"
                          },
                          "nativeSrc": "50685:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "50685:12:84"
                        },
                        "nativeSrc": "50685:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "50685:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "50669:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "50669:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "50679:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "50679:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "50666:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "50666:2:84"
                    },
                    "nativeSrc": "50666:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50666:16:84"
                  },
                  "nativeSrc": "50663:36:84",
                  "nodeType": "YulIf",
                  "src": "50663:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "50719:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "50719:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50727:3:84",
                            "nodeType": "YulLiteral",
                            "src": "50727:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50715:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50715:3:84"
                        },
                        "nativeSrc": "50715:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50715:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "50766:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "50766:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "50770:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "50770:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "50762:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "50762:3:84"
                            },
                            "nativeSrc": "50762:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "50762:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "50781:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "50781:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "50733:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "50733:28:84"
                        },
                        "nativeSrc": "50733:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50733:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50708:6:84"
                    },
                    "nativeSrc": "50708:82:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50708:82:84"
                  },
                  "nativeSrc": "50708:82:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "50708:82:84"
                },
                {
                  "nativeSrc": "50799:16:84",
                  "nodeType": "YulAssignment",
                  "src": "50799:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "50809:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "50809:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "50799:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50799:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Response_$23488_memory_ptr_fromMemory",
            "nativeSrc": "49717:1104:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49791:9:84",
                "nodeType": "YulTypedName",
                "src": "49791:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "49802:7:84",
                "nodeType": "YulTypedName",
                "src": "49802:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "49814:6:84",
                "nodeType": "YulTypedName",
                "src": "49814:6:84",
                "type": ""
              }
            ],
            "src": "49717:1104:84"
          },
          {
            "body": {
              "nativeSrc": "50873:89:84",
              "nodeType": "YulBlock",
              "src": "50873:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "50900:22:84",
                    "nodeType": "YulBlock",
                    "src": "50900:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "50902:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "50902:16:84"
                          },
                          "nativeSrc": "50902:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "50902:18:84"
                        },
                        "nativeSrc": "50902:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "50902:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "50893:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "50893:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "50886:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "50886:6:84"
                    },
                    "nativeSrc": "50886:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50886:13:84"
                  },
                  "nativeSrc": "50883:39:84",
                  "nodeType": "YulIf",
                  "src": "50883:39:84"
                },
                {
                  "nativeSrc": "50931:25:84",
                  "nodeType": "YulAssignment",
                  "src": "50931:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "50942:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "50942:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "50953:1:84",
                            "nodeType": "YulLiteral",
                            "src": "50953:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "50949:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "50949:3:84"
                        },
                        "nativeSrc": "50949:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "50949:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50938:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "50938:3:84"
                    },
                    "nativeSrc": "50938:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "50938:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "50931:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "50931:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "decrement_t_uint256",
            "nativeSrc": "50826:136:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "50855:5:84",
                "nodeType": "YulTypedName",
                "src": "50855:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "50865:3:84",
                "nodeType": "YulTypedName",
                "src": "50865:3:84",
                "type": ""
              }
            ],
            "src": "50826:136:84"
          },
          {
            "body": {
              "nativeSrc": "51141:179:84",
              "nodeType": "YulBlock",
              "src": "51141:179:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51158:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "51158:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51169:2:84",
                        "nodeType": "YulLiteral",
                        "src": "51169:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51151:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "51151:6:84"
                    },
                    "nativeSrc": "51151:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51151:21:84"
                  },
                  "nativeSrc": "51151:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51151:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51192:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "51192:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51203:2:84",
                            "nodeType": "YulLiteral",
                            "src": "51203:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51188:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "51188:3:84"
                        },
                        "nativeSrc": "51188:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "51188:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51208:2:84",
                        "nodeType": "YulLiteral",
                        "src": "51208:2:84",
                        "type": "",
                        "value": "29"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51181:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "51181:6:84"
                    },
                    "nativeSrc": "51181:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51181:30:84"
                  },
                  "nativeSrc": "51181:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51181:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51231:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "51231:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51242:2:84",
                            "nodeType": "YulLiteral",
                            "src": "51242:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51227:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "51227:3:84"
                        },
                        "nativeSrc": "51227:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "51227:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20696e76616c696420534c41",
                        "kind": "string",
                        "nativeSrc": "51247:31:84",
                        "nodeType": "YulLiteral",
                        "src": "51247:31:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: invalid SLA"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51220:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "51220:6:84"
                    },
                    "nativeSrc": "51220:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51220:59:84"
                  },
                  "nativeSrc": "51220:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51220:59:84"
                },
                {
                  "nativeSrc": "51288:26:84",
                  "nodeType": "YulAssignment",
                  "src": "51288:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51300:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "51300:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51311:2:84",
                        "nodeType": "YulLiteral",
                        "src": "51311:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "51296:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "51296:3:84"
                    },
                    "nativeSrc": "51296:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51296:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51288:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "51288:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_2c72a06d770ed83146674af5322b50df4d38bad4fa039f732a7a992f9582b941__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "50967:353:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51118:9:84",
                "nodeType": "YulTypedName",
                "src": "51118:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51132:4:84",
                "nodeType": "YulTypedName",
                "src": "51132:4:84",
                "type": ""
              }
            ],
            "src": "50967:353:84"
          },
          {
            "body": {
              "nativeSrc": "51456:411:84",
              "nodeType": "YulBlock",
              "src": "51456:411:84",
              "statements": [
                {
                  "nativeSrc": "51466:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51466:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "51494:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "51494:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "51481:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "51481:12:84"
                    },
                    "nativeSrc": "51481:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51481:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "51470:7:84",
                      "nodeType": "YulTypedName",
                      "src": "51470:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "51532:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "51532:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "51509:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "51509:22:84"
                    },
                    "nativeSrc": "51509:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51509:31:84"
                  },
                  "nativeSrc": "51509:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51509:31:84"
                },
                {
                  "nativeSrc": "51549:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51549:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "51563:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "51563:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51572:4:84",
                        "nodeType": "YulLiteral",
                        "src": "51572:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "51559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "51559:3:84"
                    },
                    "nativeSrc": "51559:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51559:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "51553:2:84",
                      "nodeType": "YulTypedName",
                      "src": "51553:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "51586:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51586:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "51602:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "51602:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "51596:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "51596:5:84"
                    },
                    "nativeSrc": "51596:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51596:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "51590:2:84",
                      "nodeType": "YulTypedName",
                      "src": "51590:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "51623:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "51623:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "51636:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "51636:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "51644:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "51644:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "51640:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "51640:3:84"
                                },
                                "nativeSrc": "51640:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "51640:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "51632:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "51632:3:84"
                            },
                            "nativeSrc": "51632:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "51632:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "51651:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "51651:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "51629:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "51629:2:84"
                        },
                        "nativeSrc": "51629:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "51629:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "51616:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "51616:6:84"
                    },
                    "nativeSrc": "51616:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51616:39:84"
                  },
                  "nativeSrc": "51616:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51616:39:84"
                },
                {
                  "nativeSrc": "51664:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "51664:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "51696:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "51696:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51703:2:84",
                            "nodeType": "YulLiteral",
                            "src": "51703:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51692:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "51692:3:84"
                        },
                        "nativeSrc": "51692:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "51692:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "51679:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "51679:12:84"
                    },
                    "nativeSrc": "51679:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51679:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "51668:7:84",
                      "nodeType": "YulTypedName",
                      "src": "51668:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "51740:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "51740:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "51716:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "51716:23:84"
                    },
                    "nativeSrc": "51716:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51716:32:84"
                  },
                  "nativeSrc": "51716:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51716:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "51764:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "51764:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "51780:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "51780:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "51788:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "51788:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "51784:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "51784:3:84"
                                    },
                                    "nativeSrc": "51784:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "51784:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "51776:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "51776:3:84"
                                },
                                "nativeSrc": "51776:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "51776:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "51812:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "51812:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "51773:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "51773:2:84"
                            },
                            "nativeSrc": "51773:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "51773:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "51825:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "51825:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "51828:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "51828:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "51821:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "51821:3:84"
                                },
                                "nativeSrc": "51821:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "51821:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "51838:20:84",
                                "nodeType": "YulLiteral",
                                "src": "51838:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "51817:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "51817:3:84"
                            },
                            "nativeSrc": "51817:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "51817:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "51770:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "51770:2:84"
                        },
                        "nativeSrc": "51770:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "51770:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "51757:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "51757:6:84"
                    },
                    "nativeSrc": "51757:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "51757:104:84"
                  },
                  "nativeSrc": "51757:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "51757:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "51325:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "51439:4:84",
                "nodeType": "YulTypedName",
                "src": "51439:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "51445:5:84",
                "nodeType": "YulTypedName",
                "src": "51445:5:84",
                "type": ""
              }
            ],
            "src": "51325:542:84"
          },
          {
            "body": {
              "nativeSrc": "52029:333:84",
              "nodeType": "YulBlock",
              "src": "52029:333:84",
              "statements": [
                {
                  "nativeSrc": "52039:26:84",
                  "nodeType": "YulAssignment",
                  "src": "52039:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52051:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "52051:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52062:2:84",
                        "nodeType": "YulLiteral",
                        "src": "52062:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52047:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "52047:3:84"
                    },
                    "nativeSrc": "52047:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52047:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "52039:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "52039:4:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "52074:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52074:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "52100:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "52100:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "52087:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "52087:12:84"
                    },
                    "nativeSrc": "52087:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52087:20:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "52078:5:84",
                      "nodeType": "YulTypedName",
                      "src": "52078:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "52139:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "52139:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "52116:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "52116:22:84"
                    },
                    "nativeSrc": "52116:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52116:29:84"
                  },
                  "nativeSrc": "52116:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "52116:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52161:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "52161:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "52176:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "52176:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52183:4:84",
                            "nodeType": "YulLiteral",
                            "src": "52183:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52172:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "52172:3:84"
                        },
                        "nativeSrc": "52172:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "52172:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52154:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "52154:6:84"
                    },
                    "nativeSrc": "52154:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52154:35:84"
                  },
                  "nativeSrc": "52154:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "52154:35:84"
                },
                {
                  "nativeSrc": "52198:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52198:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "52230:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "52230:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52238:4:84",
                            "nodeType": "YulLiteral",
                            "src": "52238:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52226:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "52226:3:84"
                        },
                        "nativeSrc": "52226:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "52226:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "52213:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "52213:12:84"
                    },
                    "nativeSrc": "52213:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52213:31:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "52202:7:84",
                      "nodeType": "YulTypedName",
                      "src": "52202:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "52277:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "52277:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "52253:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "52253:23:84"
                    },
                    "nativeSrc": "52253:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52253:32:84"
                  },
                  "nativeSrc": "52253:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "52253:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52305:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "52305:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52316:4:84",
                            "nodeType": "YulLiteral",
                            "src": "52316:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52301:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "52301:3:84"
                        },
                        "nativeSrc": "52301:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "52301:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "52327:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "52327:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52336:18:84",
                            "nodeType": "YulLiteral",
                            "src": "52336:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52323:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "52323:3:84"
                        },
                        "nativeSrc": "52323:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "52323:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52294:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "52294:6:84"
                    },
                    "nativeSrc": "52294:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52294:62:84"
                  },
                  "nativeSrc": "52294:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "52294:62:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "51872:490:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51998:9:84",
                "nodeType": "YulTypedName",
                "src": "51998:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "52009:6:84",
                "nodeType": "YulTypedName",
                "src": "52009:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "52020:4:84",
                "nodeType": "YulTypedName",
                "src": "52020:4:84",
                "type": ""
              }
            ],
            "src": "51872:490:84"
          },
          {
            "body": {
              "nativeSrc": "52453:611:84",
              "nodeType": "YulBlock",
              "src": "52453:611:84",
              "statements": [
                {
                  "nativeSrc": "52463:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52463:16:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "52476:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "52476:3:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "52467:5:84",
                      "nodeType": "YulTypedName",
                      "src": "52467:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "52495:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "52495:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "52500:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "52500:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52488:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "52488:6:84"
                    },
                    "nativeSrc": "52488:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52488:19:84"
                  },
                  "nativeSrc": "52488:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "52488:19:84"
                },
                {
                  "nativeSrc": "52516:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52516:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "52526:4:84",
                    "nodeType": "YulLiteral",
                    "src": "52526:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "52520:2:84",
                      "nodeType": "YulTypedName",
                      "src": "52520:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "52539:21:84",
                  "nodeType": "YulAssignment",
                  "src": "52539:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "52550:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "52550:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52555:4:84",
                        "nodeType": "YulLiteral",
                        "src": "52555:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52546:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "52546:3:84"
                    },
                    "nativeSrc": "52546:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52546:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "52539:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "52539:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "52569:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52569:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "52589:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "52589:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "52600:1:84",
                                "nodeType": "YulLiteral",
                                "src": "52600:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "52603:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "52603:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "52596:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "52596:3:84"
                            },
                            "nativeSrc": "52596:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "52596:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52585:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "52585:3:84"
                        },
                        "nativeSrc": "52585:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "52585:26:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52613:4:84",
                        "nodeType": "YulLiteral",
                        "src": "52613:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52581:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "52581:3:84"
                    },
                    "nativeSrc": "52581:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52581:37:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "52573:4:84",
                      "nodeType": "YulTypedName",
                      "src": "52573:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "52627:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52627:19:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "52641:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "52641:5:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "52631:6:84",
                      "nodeType": "YulTypedName",
                      "src": "52631:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "52655:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "52655:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "52664:1:84",
                    "nodeType": "YulLiteral",
                    "src": "52664:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "52659:1:84",
                      "nodeType": "YulTypedName",
                      "src": "52659:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "52723:315:84",
                    "nodeType": "YulBlock",
                    "src": "52723:315:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "52744:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "52744:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "52757:4:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "52757:4:84"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "52763:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "52763:5:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "52753:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "52753:3:84"
                                  },
                                  "nativeSrc": "52753:16:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "52753:16:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "52775:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "52775:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "52771:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "52771:3:84"
                                  },
                                  "nativeSrc": "52771:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "52771:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "52749:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "52749:3:84"
                              },
                              "nativeSrc": "52749:30:84",
                              "nodeType": "YulFunctionCall",
                              "src": "52749:30:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "52737:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "52737:6:84"
                          },
                          "nativeSrc": "52737:43:84",
                          "nodeType": "YulFunctionCall",
                          "src": "52737:43:84"
                        },
                        "nativeSrc": "52737:43:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "52737:43:84"
                      },
                      {
                        "nativeSrc": "52793:82:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "52793:82:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "52861:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "52861:5:84"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "52868:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "52868:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "52829:31:84",
                            "nodeType": "YulIdentifier",
                            "src": "52829:31:84"
                          },
                          "nativeSrc": "52829:46:84",
                          "nodeType": "YulFunctionCall",
                          "src": "52829:46:84"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "52797:13:84",
                            "nodeType": "YulTypedName",
                            "src": "52797:13:84",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "52812:13:84",
                            "nodeType": "YulTypedName",
                            "src": "52812:13:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "52888:70:84",
                        "nodeType": "YulAssignment",
                        "src": "52888:70:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "52923:13:84",
                              "nodeType": "YulIdentifier",
                              "src": "52923:13:84"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "52938:13:84",
                              "nodeType": "YulIdentifier",
                              "src": "52938:13:84"
                            },
                            {
                              "name": "tail",
                              "nativeSrc": "52953:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "52953:4:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "52896:26:84",
                            "nodeType": "YulIdentifier",
                            "src": "52896:26:84"
                          },
                          "nativeSrc": "52896:62:84",
                          "nodeType": "YulFunctionCall",
                          "src": "52896:62:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "52888:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "52888:4:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "52971:25:84",
                        "nodeType": "YulAssignment",
                        "src": "52971:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "52985:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "52985:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "52993:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "52993:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "52981:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "52981:3:84"
                          },
                          "nativeSrc": "52981:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "52981:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "52971:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "52971:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "53009:19:84",
                        "nodeType": "YulAssignment",
                        "src": "53009:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "53020:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "53020:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "53025:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "53025:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "53016:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "53016:3:84"
                          },
                          "nativeSrc": "53016:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53016:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "53009:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "53009:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "52685:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "52685:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "52688:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "52688:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "52682:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "52682:2:84"
                    },
                    "nativeSrc": "52682:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "52682:13:84"
                  },
                  "nativeSrc": "52674:364:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "52696:18:84",
                    "nodeType": "YulBlock",
                    "src": "52696:18:84",
                    "statements": [
                      {
                        "nativeSrc": "52698:14:84",
                        "nodeType": "YulAssignment",
                        "src": "52698:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "52707:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "52707:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "52710:1:84",
                              "nodeType": "YulLiteral",
                              "src": "52710:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "52703:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "52703:3:84"
                          },
                          "nativeSrc": "52703:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "52703:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "52698:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "52698:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "52678:3:84",
                    "nodeType": "YulBlock",
                    "src": "52678:3:84",
                    "statements": []
                  },
                  "src": "52674:364:84"
                },
                {
                  "nativeSrc": "53047:11:84",
                  "nodeType": "YulAssignment",
                  "src": "53047:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "53054:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "53054:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "53047:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "53047:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_string_calldata_dyn_calldata",
            "nativeSrc": "52367:697:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "52422:5:84",
                "nodeType": "YulTypedName",
                "src": "52422:5:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "52429:6:84",
                "nodeType": "YulTypedName",
                "src": "52429:6:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "52437:3:84",
                "nodeType": "YulTypedName",
                "src": "52437:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "52445:3:84",
                "nodeType": "YulTypedName",
                "src": "52445:3:84",
                "type": ""
              }
            ],
            "src": "52367:697:84"
          },
          {
            "body": {
              "nativeSrc": "53304:1094:84",
              "nodeType": "YulBlock",
              "src": "53304:1094:84",
              "statements": [
                {
                  "nativeSrc": "53314:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53314:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "53324:2:84",
                    "nodeType": "YulLiteral",
                    "src": "53324:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "53318:2:84",
                      "nodeType": "YulTypedName",
                      "src": "53318:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "53335:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53335:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53353:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "53353:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53364:2:84",
                        "nodeType": "YulLiteral",
                        "src": "53364:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53349:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "53349:3:84"
                    },
                    "nativeSrc": "53349:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53349:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "53339:6:84",
                      "nodeType": "YulTypedName",
                      "src": "53339:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53383:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "53383:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53394:2:84",
                        "nodeType": "YulLiteral",
                        "src": "53394:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53376:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "53376:6:84"
                    },
                    "nativeSrc": "53376:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53376:21:84"
                  },
                  "nativeSrc": "53376:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "53376:21:84"
                },
                {
                  "nativeSrc": "53406:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53406:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "53417:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "53417:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "53410:3:84",
                      "nodeType": "YulTypedName",
                      "src": "53410:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "53439:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "53439:6:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "53447:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "53447:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53432:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "53432:6:84"
                    },
                    "nativeSrc": "53432:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53432:22:84"
                  },
                  "nativeSrc": "53432:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "53432:22:84"
                },
                {
                  "nativeSrc": "53463:25:84",
                  "nodeType": "YulAssignment",
                  "src": "53463:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53474:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "53474:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53485:2:84",
                        "nodeType": "YulLiteral",
                        "src": "53485:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53470:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "53470:3:84"
                    },
                    "nativeSrc": "53470:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53470:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "53463:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "53463:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "53497:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53497:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "53507:1:84",
                    "nodeType": "YulLiteral",
                    "src": "53507:1:84",
                    "type": "",
                    "value": "5"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "53501:2:84",
                      "nodeType": "YulTypedName",
                      "src": "53501:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "53517:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53517:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53539:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "53539:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "53554:1:84",
                                "nodeType": "YulLiteral",
                                "src": "53554:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "53557:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "53557:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "53550:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "53550:3:84"
                            },
                            "nativeSrc": "53550:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "53550:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53535:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "53535:3:84"
                        },
                        "nativeSrc": "53535:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "53535:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53567:2:84",
                        "nodeType": "YulLiteral",
                        "src": "53567:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53531:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "53531:3:84"
                    },
                    "nativeSrc": "53531:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53531:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "53521:6:84",
                      "nodeType": "YulTypedName",
                      "src": "53521:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "53579:20:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53579:20:84",
                  "value": {
                    "name": "value0",
                    "nativeSrc": "53593:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "53593:6:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "53583:6:84",
                      "nodeType": "YulTypedName",
                      "src": "53583:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "53608:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "53608:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "53617:1:84",
                    "nodeType": "YulLiteral",
                    "src": "53617:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "53612:1:84",
                      "nodeType": "YulTypedName",
                      "src": "53612:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "53676:693:84",
                    "nodeType": "YulBlock",
                    "src": "53676:693:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "53697:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "53697:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "53710:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "53710:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "53718:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "53718:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "53706:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "53706:3:84"
                                  },
                                  "nativeSrc": "53706:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "53706:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "53734:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "53734:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "53730:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "53730:3:84"
                                  },
                                  "nativeSrc": "53730:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "53730:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "53702:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "53702:3:84"
                              },
                              "nativeSrc": "53702:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "53702:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "53690:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "53690:6:84"
                          },
                          "nativeSrc": "53690:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53690:49:84"
                        },
                        "nativeSrc": "53690:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "53690:49:84"
                      },
                      {
                        "nativeSrc": "53752:46:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "53752:46:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "53791:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "53791:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "53778:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "53778:12:84"
                          },
                          "nativeSrc": "53778:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53778:20:84"
                        },
                        "variables": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "53756:18:84",
                            "nodeType": "YulTypedName",
                            "src": "53756:18:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "53889:16:84",
                          "nodeType": "YulBlock",
                          "src": "53889:16:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "53898:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "53898:1:84",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "53901:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "53901:1:84",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "53891:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "53891:6:84"
                                },
                                "nativeSrc": "53891:12:84",
                                "nodeType": "YulFunctionCall",
                                "src": "53891:12:84"
                              },
                              "nativeSrc": "53891:12:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "53891:12:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "rel_offset_of_tail",
                                  "nativeSrc": "53825:18:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "53825:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "arguments": [],
                                          "functionName": {
                                            "name": "calldatasize",
                                            "nativeSrc": "53853:12:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "53853:12:84"
                                          },
                                          "nativeSrc": "53853:14:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "53853:14:84"
                                        },
                                        {
                                          "name": "value0",
                                          "nativeSrc": "53869:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "53869:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "sub",
                                        "nativeSrc": "53849:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "53849:3:84"
                                      },
                                      "nativeSrc": "53849:27:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "53849:27:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "53882:2:84",
                                          "nodeType": "YulLiteral",
                                          "src": "53882:2:84",
                                          "type": "",
                                          "value": "30"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "53878:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "53878:3:84"
                                      },
                                      "nativeSrc": "53878:7:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "53878:7:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "53845:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "53845:3:84"
                                  },
                                  "nativeSrc": "53845:41:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "53845:41:84"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "53821:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "53821:3:84"
                              },
                              "nativeSrc": "53821:66:84",
                              "nodeType": "YulFunctionCall",
                              "src": "53821:66:84"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "53814:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "53814:6:84"
                          },
                          "nativeSrc": "53814:74:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53814:74:84"
                        },
                        "nativeSrc": "53811:94:84",
                        "nodeType": "YulIf",
                        "src": "53811:94:84"
                      },
                      {
                        "nativeSrc": "53918:44:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "53918:44:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "rel_offset_of_tail",
                              "nativeSrc": "53935:18:84",
                              "nodeType": "YulIdentifier",
                              "src": "53935:18:84"
                            },
                            {
                              "name": "value0",
                              "nativeSrc": "53955:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "53955:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "53931:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "53931:3:84"
                          },
                          "nativeSrc": "53931:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53931:31:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "53922:5:84",
                            "nodeType": "YulTypedName",
                            "src": "53922:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "53975:33:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "53975:33:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "54002:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "54002:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "53989:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "53989:12:84"
                          },
                          "nativeSrc": "53989:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53989:19:84"
                        },
                        "variables": [
                          {
                            "name": "length",
                            "nativeSrc": "53979:6:84",
                            "nodeType": "YulTypedName",
                            "src": "53979:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "54021:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "54021:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "54040:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "54040:5:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "54047:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "54047:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "54036:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "54036:3:84"
                          },
                          "nativeSrc": "54036:14:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54036:14:84"
                        },
                        "variables": [
                          {
                            "name": "value_1",
                            "nativeSrc": "54025:7:84",
                            "nodeType": "YulTypedName",
                            "src": "54025:7:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "54097:16:84",
                          "nodeType": "YulBlock",
                          "src": "54097:16:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "54106:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "54106:1:84",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "54109:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "54109:1:84",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "54099:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "54099:6:84"
                                },
                                "nativeSrc": "54099:12:84",
                                "nodeType": "YulFunctionCall",
                                "src": "54099:12:84"
                              },
                              "nativeSrc": "54099:12:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "54099:12:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "54069:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "54069:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "54077:18:84",
                              "nodeType": "YulLiteral",
                              "src": "54077:18:84",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "54066:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "54066:2:84"
                          },
                          "nativeSrc": "54066:30:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54066:30:84"
                        },
                        "nativeSrc": "54063:50:84",
                        "nodeType": "YulIf",
                        "src": "54063:50:84"
                      },
                      {
                        "body": {
                          "nativeSrc": "54180:16:84",
                          "nodeType": "YulBlock",
                          "src": "54180:16:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "54189:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "54189:1:84",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "54192:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "54192:1:84",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "54182:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "54182:6:84"
                                },
                                "nativeSrc": "54182:12:84",
                                "nodeType": "YulFunctionCall",
                                "src": "54182:12:84"
                              },
                              "nativeSrc": "54182:12:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "54182:12:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "54133:7:84",
                              "nodeType": "YulIdentifier",
                              "src": "54133:7:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [],
                                  "functionName": {
                                    "name": "calldatasize",
                                    "nativeSrc": "54146:12:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "54146:12:84"
                                  },
                                  "nativeSrc": "54146:14:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "54146:14:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "_2",
                                      "nativeSrc": "54166:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "54166:2:84"
                                    },
                                    {
                                      "name": "length",
                                      "nativeSrc": "54170:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "54170:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "54162:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "54162:3:84"
                                  },
                                  "nativeSrc": "54162:15:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "54162:15:84"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "54142:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "54142:3:84"
                              },
                              "nativeSrc": "54142:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "54142:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "sgt",
                            "nativeSrc": "54129:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "54129:3:84"
                          },
                          "nativeSrc": "54129:50:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54129:50:84"
                        },
                        "nativeSrc": "54126:70:84",
                        "nodeType": "YulIf",
                        "src": "54126:70:84"
                      },
                      {
                        "nativeSrc": "54209:80:84",
                        "nodeType": "YulAssignment",
                        "src": "54209:80:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "54265:7:84",
                              "nodeType": "YulIdentifier",
                              "src": "54265:7:84"
                            },
                            {
                              "name": "length",
                              "nativeSrc": "54274:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "54274:6:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "54282:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "54282:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_array_string_calldata_dyn_calldata",
                            "nativeSrc": "54219:45:84",
                            "nodeType": "YulIdentifier",
                            "src": "54219:45:84"
                          },
                          "nativeSrc": "54219:70:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54219:70:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "54209:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "54209:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "54302:25:84",
                        "nodeType": "YulAssignment",
                        "src": "54302:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "54316:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "54316:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "54324:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "54324:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "54312:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "54312:3:84"
                          },
                          "nativeSrc": "54312:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54312:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "54302:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "54302:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "54340:19:84",
                        "nodeType": "YulAssignment",
                        "src": "54340:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "54351:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "54351:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "54356:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "54356:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "54347:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "54347:3:84"
                          },
                          "nativeSrc": "54347:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54347:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "54340:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "54340:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "53638:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "53638:1:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "53641:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "53641:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "53635:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "53635:2:84"
                    },
                    "nativeSrc": "53635:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "53635:13:84"
                  },
                  "nativeSrc": "53627:742:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "53649:18:84",
                    "nodeType": "YulBlock",
                    "src": "53649:18:84",
                    "statements": [
                      {
                        "nativeSrc": "53651:14:84",
                        "nodeType": "YulAssignment",
                        "src": "53651:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "53660:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "53660:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "53663:1:84",
                              "nodeType": "YulLiteral",
                              "src": "53663:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "53656:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "53656:3:84"
                          },
                          "nativeSrc": "53656:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "53656:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "53651:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "53651:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "53631:3:84",
                    "nodeType": "YulBlock",
                    "src": "53631:3:84",
                    "statements": []
                  },
                  "src": "53627:742:84"
                },
                {
                  "nativeSrc": "54378:14:84",
                  "nodeType": "YulAssignment",
                  "src": "54378:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "54386:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "54386:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "54378:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "54378:4:84"
                    }
                  ]
                }
              ]
            },
            "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": "53069:1329:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "53265:9:84",
                "nodeType": "YulTypedName",
                "src": "53265:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "53276:6:84",
                "nodeType": "YulTypedName",
                "src": "53276:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53284:6:84",
                "nodeType": "YulTypedName",
                "src": "53284:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "53295:4:84",
                "nodeType": "YulTypedName",
                "src": "53295:4:84",
                "type": ""
              }
            ],
            "src": "53069:1329:84"
          },
          {
            "body": {
              "nativeSrc": "54504:139:84",
              "nodeType": "YulBlock",
              "src": "54504:139:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "54550:16:84",
                    "nodeType": "YulBlock",
                    "src": "54550:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "54559:1:84",
                              "nodeType": "YulLiteral",
                              "src": "54559:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "54562:1:84",
                              "nodeType": "YulLiteral",
                              "src": "54562:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "54552:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "54552:6:84"
                          },
                          "nativeSrc": "54552:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "54552:12:84"
                        },
                        "nativeSrc": "54552:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "54552:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "54525:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "54525:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "54534:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "54534:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "54521:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "54521:3:84"
                        },
                        "nativeSrc": "54521:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "54521:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "54546:2:84",
                        "nodeType": "YulLiteral",
                        "src": "54546:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "54517:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "54517:3:84"
                    },
                    "nativeSrc": "54517:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "54517:32:84"
                  },
                  "nativeSrc": "54514:52:84",
                  "nodeType": "YulIf",
                  "src": "54514:52:84"
                },
                {
                  "nativeSrc": "54575:62:84",
                  "nodeType": "YulAssignment",
                  "src": "54575:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "54627:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "54627:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_ResponseStatus_fromMemory",
                      "nativeSrc": "54585:41:84",
                      "nodeType": "YulIdentifier",
                      "src": "54585:41:84"
                    },
                    "nativeSrc": "54585:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "54585:52:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "54575:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "54575:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_ResponseStatus_$23496_fromMemory",
            "nativeSrc": "54403:240:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "54470:9:84",
                "nodeType": "YulTypedName",
                "src": "54470:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "54481:7:84",
                "nodeType": "YulTypedName",
                "src": "54481:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "54493:6:84",
                "nodeType": "YulTypedName",
                "src": "54493:6:84",
                "type": ""
              }
            ],
            "src": "54403:240:84"
          },
          {
            "body": {
              "nativeSrc": "54815:159:84",
              "nodeType": "YulBlock",
              "src": "54815:159:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "54832:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "54832:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "54843:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "54843:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "54825:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "54825:6:84"
                    },
                    "nativeSrc": "54825:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "54825:25:84"
                  },
                  "nativeSrc": "54825:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "54825:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "54870:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "54870:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "54881:2:84",
                            "nodeType": "YulLiteral",
                            "src": "54881:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "54866:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "54866:3:84"
                        },
                        "nativeSrc": "54866:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "54866:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "54886:2:84",
                        "nodeType": "YulLiteral",
                        "src": "54886:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "54859:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "54859:6:84"
                    },
                    "nativeSrc": "54859:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "54859:30:84"
                  },
                  "nativeSrc": "54859:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "54859:30:84"
                },
                {
                  "nativeSrc": "54898:70:84",
                  "nodeType": "YulAssignment",
                  "src": "54898:70:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "54933:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "54933:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "54941:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "54941:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "54953:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "54953:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "54964:2:84",
                            "nodeType": "YulLiteral",
                            "src": "54964:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "54949:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "54949:3:84"
                        },
                        "nativeSrc": "54949:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "54949:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "54906:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "54906:26:84"
                    },
                    "nativeSrc": "54906:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "54906:62:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "54898:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "54898:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr__to_t_bytes32_t_string_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "54648:326:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "54768:9:84",
                "nodeType": "YulTypedName",
                "src": "54768:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "54779:6:84",
                "nodeType": "YulTypedName",
                "src": "54779:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "54787:6:84",
                "nodeType": "YulTypedName",
                "src": "54787:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "54795:6:84",
                "nodeType": "YulTypedName",
                "src": "54795:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "54806:4:84",
                "nodeType": "YulTypedName",
                "src": "54806:4:84",
                "type": ""
              }
            ],
            "src": "54648:326:84"
          },
          {
            "body": {
              "nativeSrc": "55058:168:84",
              "nodeType": "YulBlock",
              "src": "55058:168:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "55104:16:84",
                    "nodeType": "YulBlock",
                    "src": "55104:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "55113:1:84",
                              "nodeType": "YulLiteral",
                              "src": "55113:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "55116:1:84",
                              "nodeType": "YulLiteral",
                              "src": "55116:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "55106:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "55106:6:84"
                          },
                          "nativeSrc": "55106:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "55106:12:84"
                        },
                        "nativeSrc": "55106:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "55106:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "55079:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "55079:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "55088:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "55088:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "55075:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "55075:3:84"
                        },
                        "nativeSrc": "55075:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55075:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "55100:2:84",
                        "nodeType": "YulLiteral",
                        "src": "55100:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "55071:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "55071:3:84"
                    },
                    "nativeSrc": "55071:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55071:32:84"
                  },
                  "nativeSrc": "55068:52:84",
                  "nodeType": "YulIf",
                  "src": "55068:52:84"
                },
                {
                  "nativeSrc": "55129:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55129:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "55148:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "55148:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "55142:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "55142:5:84"
                    },
                    "nativeSrc": "55142:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55142:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "55133:5:84",
                      "nodeType": "YulTypedName",
                      "src": "55133:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "55190:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "55190:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "55167:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "55167:22:84"
                    },
                    "nativeSrc": "55167:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55167:29:84"
                  },
                  "nativeSrc": "55167:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "55167:29:84"
                },
                {
                  "nativeSrc": "55205:15:84",
                  "nodeType": "YulAssignment",
                  "src": "55205:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "55215:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "55215:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "55205:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "55205:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8_fromMemory",
            "nativeSrc": "54979:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "55024:9:84",
                "nodeType": "YulTypedName",
                "src": "55024:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "55035:7:84",
                "nodeType": "YulTypedName",
                "src": "55035:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "55047:6:84",
                "nodeType": "YulTypedName",
                "src": "55047:6:84",
                "type": ""
              }
            ],
            "src": "54979:247:84"
          },
          {
            "body": {
              "nativeSrc": "55274:136:84",
              "nodeType": "YulBlock",
              "src": "55274:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "55319:85:84",
                    "nodeType": "YulBlock",
                    "src": "55319:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "55348:1:84",
                              "nodeType": "YulLiteral",
                              "src": "55348:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "55351:1:84",
                              "nodeType": "YulLiteral",
                              "src": "55351:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "55354:1:84",
                              "nodeType": "YulLiteral",
                              "src": "55354:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "55333:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "55333:14:84"
                          },
                          "nativeSrc": "55333:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "55333:23:84"
                        },
                        "nativeSrc": "55333:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "55333:23:84"
                      },
                      {
                        "nativeSrc": "55369:25:84",
                        "nodeType": "YulAssignment",
                        "src": "55369:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "55380:3:84",
                              "nodeType": "YulLiteral",
                              "src": "55380:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "55391:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "55391:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "55385:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "55385:5:84"
                              },
                              "nativeSrc": "55385:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "55385:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "55376:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "55376:3:84"
                          },
                          "nativeSrc": "55376:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "55376:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "55369:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "55369:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "55290:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "55290:14:84"
                        },
                        "nativeSrc": "55290:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55290:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "55308:1:84",
                        "nodeType": "YulLiteral",
                        "src": "55308:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "55287:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "55287:2:84"
                    },
                    "nativeSrc": "55287:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55287:23:84"
                  },
                  "nativeSrc": "55284:120:84",
                  "nodeType": "YulIf",
                  "src": "55284:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "55231:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "55266:3:84",
                "nodeType": "YulTypedName",
                "src": "55266:3:84",
                "type": ""
              }
            ],
            "src": "55231:179:84"
          },
          {
            "body": {
              "nativeSrc": "55462:624:84",
              "nodeType": "YulBlock",
              "src": "55462:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "55502:9:84",
                    "nodeType": "YulBlock",
                    "src": "55502:9:84",
                    "statements": [
                      {
                        "nativeSrc": "55504:5:84",
                        "nodeType": "YulLeave",
                        "src": "55504:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "55478:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "55478:14:84"
                        },
                        "nativeSrc": "55478:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55478:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "55496:4:84",
                        "nodeType": "YulLiteral",
                        "src": "55496:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "55475:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "55475:2:84"
                    },
                    "nativeSrc": "55475:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55475:26:84"
                  },
                  "nativeSrc": "55472:39:84",
                  "nodeType": "YulIf",
                  "src": "55472:39:84"
                },
                {
                  "nativeSrc": "55520:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55520:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "55538:2:84",
                        "nodeType": "YulLiteral",
                        "src": "55538:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "55532:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "55532:5:84"
                    },
                    "nativeSrc": "55532:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55532:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "55524:4:84",
                      "nodeType": "YulTypedName",
                      "src": "55524:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "55550:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55550:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "55564:1:84",
                        "nodeType": "YulLiteral",
                        "src": "55564:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "55560:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "55560:3:84"
                    },
                    "nativeSrc": "55560:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55560:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "55554:2:84",
                      "nodeType": "YulTypedName",
                      "src": "55554:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "55590:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "55590:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "55596:1:84",
                        "nodeType": "YulLiteral",
                        "src": "55596:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "55603:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "55603:14:84"
                            },
                            "nativeSrc": "55603:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "55603:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "55621:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "55621:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "55599:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "55599:3:84"
                        },
                        "nativeSrc": "55599:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55599:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "55575:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "55575:14:84"
                    },
                    "nativeSrc": "55575:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55575:50:84"
                  },
                  "nativeSrc": "55575:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "55575:50:84"
                },
                {
                  "nativeSrc": "55634:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55634:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "55654:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "55654:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "55648:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "55648:5:84"
                    },
                    "nativeSrc": "55648:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55648:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "55638:6:84",
                      "nodeType": "YulTypedName",
                      "src": "55638:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "55668:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55668:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "55678:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "55678:14:84"
                    },
                    "nativeSrc": "55678:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55678:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "55672:2:84",
                      "nodeType": "YulTypedName",
                      "src": "55672:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "55703:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55703:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "55713:18:84",
                    "nodeType": "YulLiteral",
                    "src": "55713:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "55707:2:84",
                      "nodeType": "YulTypedName",
                      "src": "55707:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "55789:9:84",
                    "nodeType": "YulBlock",
                    "src": "55789:9:84",
                    "statements": [
                      {
                        "nativeSrc": "55791:5:84",
                        "nodeType": "YulLeave",
                        "src": "55791:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "55749:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "55749:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "55757:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "55757:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "55746:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "55746:2:84"
                        },
                        "nativeSrc": "55746:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55746:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "55769:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "55769:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "55777:4:84",
                                "nodeType": "YulLiteral",
                                "src": "55777:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "55765:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "55765:3:84"
                            },
                            "nativeSrc": "55765:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "55765:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "55784:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "55784:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "55762:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "55762:2:84"
                        },
                        "nativeSrc": "55762:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55762:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "55743:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "55743:2:84"
                    },
                    "nativeSrc": "55743:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55743:45:84"
                  },
                  "nativeSrc": "55740:58:84",
                  "nodeType": "YulIf",
                  "src": "55740:58:84"
                },
                {
                  "nativeSrc": "55807:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55807:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "55822:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "55822:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "55828:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "55828:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "55818:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "55818:3:84"
                    },
                    "nativeSrc": "55818:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55818:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "55811:3:84",
                      "nodeType": "YulTypedName",
                      "src": "55811:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "55844:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "55844:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "55864:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "55864:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "55858:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "55858:5:84"
                    },
                    "nativeSrc": "55858:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55858:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "55848:6:84",
                      "nodeType": "YulTypedName",
                      "src": "55848:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "55895:9:84",
                    "nodeType": "YulBlock",
                    "src": "55895:9:84",
                    "statements": [
                      {
                        "nativeSrc": "55897:5:84",
                        "nodeType": "YulLeave",
                        "src": "55897:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "55883:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "55883:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "55891:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "55891:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "55880:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "55880:2:84"
                    },
                    "nativeSrc": "55880:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55880:14:84"
                  },
                  "nativeSrc": "55877:27:84",
                  "nodeType": "YulIf",
                  "src": "55877:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "55986:9:84",
                    "nodeType": "YulBlock",
                    "src": "55986:9:84",
                    "statements": [
                      {
                        "nativeSrc": "55988:5:84",
                        "nodeType": "YulLeave",
                        "src": "55988:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "55927:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "55927:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "55932:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "55932:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "55923:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "55923:3:84"
                            },
                            "nativeSrc": "55923:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "55923:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "55941:4:84",
                            "nodeType": "YulLiteral",
                            "src": "55941:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "55919:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "55919:3:84"
                        },
                        "nativeSrc": "55919:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55919:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "55956:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "55956:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "55962:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "55962:14:84"
                                },
                                "nativeSrc": "55962:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "55962:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "55952:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "55952:3:84"
                            },
                            "nativeSrc": "55952:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "55952:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "55981:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "55981:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "55948:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "55948:3:84"
                        },
                        "nativeSrc": "55948:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "55948:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "55916:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "55916:2:84"
                    },
                    "nativeSrc": "55916:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "55916:69:84"
                  },
                  "nativeSrc": "55913:82:84",
                  "nodeType": "YulIf",
                  "src": "55913:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "56024:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "56024:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "56038:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "56038:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "56046:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "56046:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "56034:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "56034:3:84"
                            },
                            "nativeSrc": "56034:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "56034:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "56055:4:84",
                            "nodeType": "YulLiteral",
                            "src": "56055:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "56030:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56030:3:84"
                        },
                        "nativeSrc": "56030:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56030:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "56004:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "56004:19:84"
                    },
                    "nativeSrc": "56004:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56004:57:84"
                  },
                  "nativeSrc": "56004:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56004:57:84"
                },
                {
                  "nativeSrc": "56070:10:84",
                  "nodeType": "YulAssignment",
                  "src": "56070:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "56077:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "56077:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "56070:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "56070:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "55415:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "55454:3:84",
                "nodeType": "YulTypedName",
                "src": "55454:3:84",
                "type": ""
              }
            ],
            "src": "55415:671:84"
          },
          {
            "body": {
              "nativeSrc": "56265:227:84",
              "nodeType": "YulBlock",
              "src": "56265:227:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "56282:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "56282:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "56293:2:84",
                        "nodeType": "YulLiteral",
                        "src": "56293:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56275:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56275:6:84"
                    },
                    "nativeSrc": "56275:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56275:21:84"
                  },
                  "nativeSrc": "56275:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56275:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "56316:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "56316:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "56327:2:84",
                            "nodeType": "YulLiteral",
                            "src": "56327:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "56312:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56312:3:84"
                        },
                        "nativeSrc": "56312:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56312:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "56332:2:84",
                        "nodeType": "YulLiteral",
                        "src": "56332:2:84",
                        "type": "",
                        "value": "37"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56305:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56305:6:84"
                    },
                    "nativeSrc": "56305:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56305:30:84"
                  },
                  "nativeSrc": "56305:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56305:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "56355:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "56355:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "56366:2:84",
                            "nodeType": "YulLiteral",
                            "src": "56366:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "56351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56351:3:84"
                        },
                        "nativeSrc": "56351:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56351:18:84"
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20696e73756666696369656e742072",
                        "kind": "string",
                        "nativeSrc": "56371:34:84",
                        "nodeType": "YulLiteral",
                        "src": "56371:34:84",
                        "type": "",
                        "value": "WitnetPriceFeeds: insufficient r"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56344:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56344:6:84"
                    },
                    "nativeSrc": "56344:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56344:62:84"
                  },
                  "nativeSrc": "56344:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56344:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "56426:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "56426:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "56437:2:84",
                            "nodeType": "YulLiteral",
                            "src": "56437:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "56422:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56422:3:84"
                        },
                        "nativeSrc": "56422:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56422:18:84"
                      },
                      {
                        "hexValue": "6577617264",
                        "kind": "string",
                        "nativeSrc": "56442:7:84",
                        "nodeType": "YulLiteral",
                        "src": "56442:7:84",
                        "type": "",
                        "value": "eward"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56415:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56415:6:84"
                    },
                    "nativeSrc": "56415:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56415:35:84"
                  },
                  "nativeSrc": "56415:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56415:35:84"
                },
                {
                  "nativeSrc": "56459:27:84",
                  "nodeType": "YulAssignment",
                  "src": "56459:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "56471:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "56471:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "56482:3:84",
                        "nodeType": "YulLiteral",
                        "src": "56482:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "56467:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "56467:3:84"
                    },
                    "nativeSrc": "56467:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56467:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "56459:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "56459:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_674fbcbe269b23c2e5542bee3f0fc3cf5aad6b15a3459c6156f9fd10004e1725__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "56091:401:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "56242:9:84",
                "nodeType": "YulTypedName",
                "src": "56242:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "56256:4:84",
                "nodeType": "YulTypedName",
                "src": "56256:4:84",
                "type": ""
              }
            ],
            "src": "56091:401:84"
          },
          {
            "body": {
              "nativeSrc": "56545:152:84",
              "nodeType": "YulBlock",
              "src": "56545:152:84",
              "statements": [
                {
                  "nativeSrc": "56555:17:84",
                  "nodeType": "YulAssignment",
                  "src": "56555:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "56567:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "56567:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "56570:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "56570:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "56563:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "56563:3:84"
                    },
                    "nativeSrc": "56563:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56563:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "56555:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "56555:4:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "56581:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "56581:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "56595:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "56595:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "56598:1:84",
                        "nodeType": "YulLiteral",
                        "src": "56598:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "56591:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "56591:3:84"
                    },
                    "nativeSrc": "56591:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56591:9:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "56585:2:84",
                      "nodeType": "YulTypedName",
                      "src": "56585:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "56669:22:84",
                    "nodeType": "YulBlock",
                    "src": "56669:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "56671:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "56671:16:84"
                          },
                          "nativeSrc": "56671:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "56671:18:84"
                        },
                        "nativeSrc": "56671:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "56671:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "56626:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "56626:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "56619:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "56619:6:84"
                            },
                            "nativeSrc": "56619:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "56619:10:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "diff",
                                "nativeSrc": "56635:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "56635:4:84"
                              },
                              {
                                "name": "x",
                                "nativeSrc": "56641:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "56641:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "sgt",
                              "nativeSrc": "56631:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "56631:3:84"
                            },
                            "nativeSrc": "56631:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "56631:12:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "56615:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56615:3:84"
                        },
                        "nativeSrc": "56615:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56615:29:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "56650:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "56650:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "diff",
                                "nativeSrc": "56658:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "56658:4:84"
                              },
                              {
                                "name": "x",
                                "nativeSrc": "56664:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "56664:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "slt",
                              "nativeSrc": "56654:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "56654:3:84"
                            },
                            "nativeSrc": "56654:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "56654:12:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "56646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56646:3:84"
                        },
                        "nativeSrc": "56646:21:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56646:21:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "56612:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "56612:2:84"
                    },
                    "nativeSrc": "56612:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56612:56:84"
                  },
                  "nativeSrc": "56609:82:84",
                  "nodeType": "YulIf",
                  "src": "56609:82:84"
                }
              ]
            },
            "name": "checked_sub_t_int256",
            "nativeSrc": "56497:200:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "56527:1:84",
                "nodeType": "YulTypedName",
                "src": "56527:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "56530:1:84",
                "nodeType": "YulTypedName",
                "src": "56530:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "56536:4:84",
                "nodeType": "YulTypedName",
                "src": "56536:4:84",
                "type": ""
              }
            ],
            "src": "56497:200:84"
          },
          {
            "body": {
              "nativeSrc": "56831:119:84",
              "nodeType": "YulBlock",
              "src": "56831:119:84",
              "statements": [
                {
                  "nativeSrc": "56841:26:84",
                  "nodeType": "YulAssignment",
                  "src": "56841:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "56853:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "56853:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "56864:2:84",
                        "nodeType": "YulLiteral",
                        "src": "56864:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "56849:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "56849:3:84"
                    },
                    "nativeSrc": "56849:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56849:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "56841:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "56841:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "56883:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "56883:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "56894:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "56894:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56876:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56876:6:84"
                    },
                    "nativeSrc": "56876:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56876:25:84"
                  },
                  "nativeSrc": "56876:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56876:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "56921:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "56921:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "56932:2:84",
                            "nodeType": "YulLiteral",
                            "src": "56932:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "56917:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "56917:3:84"
                        },
                        "nativeSrc": "56917:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "56917:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "56937:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "56937:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56910:6:84"
                    },
                    "nativeSrc": "56910:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56910:34:84"
                  },
                  "nativeSrc": "56910:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56910:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "56702:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "56792:9:84",
                "nodeType": "YulTypedName",
                "src": "56792:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "56803:6:84",
                "nodeType": "YulTypedName",
                "src": "56803:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "56811:6:84",
                "nodeType": "YulTypedName",
                "src": "56811:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "56822:4:84",
                "nodeType": "YulTypedName",
                "src": "56822:4:84",
                "type": ""
              }
            ],
            "src": "56702:248:84"
          },
          {
            "body": {
              "nativeSrc": "57138:139:84",
              "nodeType": "YulBlock",
              "src": "57138:139:84",
              "statements": [
                {
                  "nativeSrc": "57148:26:84",
                  "nodeType": "YulAssignment",
                  "src": "57148:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "57160:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "57160:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "57171:2:84",
                        "nodeType": "YulLiteral",
                        "src": "57171:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "57156:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "57156:3:84"
                    },
                    "nativeSrc": "57156:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57156:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "57148:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "57148:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "57190:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "57190:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "57201:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "57201:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "57183:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "57183:6:84"
                    },
                    "nativeSrc": "57183:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57183:25:84"
                  },
                  "nativeSrc": "57183:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "57183:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "57244:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "57244:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "57256:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "57256:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "57267:2:84",
                            "nodeType": "YulLiteral",
                            "src": "57267:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "57252:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "57252:3:84"
                        },
                        "nativeSrc": "57252:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57252:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA",
                      "nativeSrc": "57217:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "57217:26:84"
                    },
                    "nativeSrc": "57217:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57217:54:84"
                  },
                  "nativeSrc": "57217:54:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "57217:54:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__to_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "56955:322:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "57099:9:84",
                "nodeType": "YulTypedName",
                "src": "57099:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "57110:6:84",
                "nodeType": "YulTypedName",
                "src": "57110:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "57118:6:84",
                "nodeType": "YulTypedName",
                "src": "57118:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "57129:4:84",
                "nodeType": "YulTypedName",
                "src": "57129:4:84",
                "type": ""
              }
            ],
            "src": "56955:322:84"
          },
          {
            "body": {
              "nativeSrc": "57493:183:84",
              "nodeType": "YulBlock",
              "src": "57493:183:84",
              "statements": [
                {
                  "nativeSrc": "57503:27:84",
                  "nodeType": "YulAssignment",
                  "src": "57503:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "57515:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "57515:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "57526:3:84",
                        "nodeType": "YulLiteral",
                        "src": "57526:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "57511:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "57511:3:84"
                    },
                    "nativeSrc": "57511:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57511:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "57503:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "57503:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "57546:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "57546:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "57557:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "57557:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "57539:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "57539:6:84"
                    },
                    "nativeSrc": "57539:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57539:25:84"
                  },
                  "nativeSrc": "57539:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "57539:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "57584:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "57584:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "57595:2:84",
                            "nodeType": "YulLiteral",
                            "src": "57595:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "57580:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "57580:3:84"
                        },
                        "nativeSrc": "57580:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57580:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "57600:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "57600:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "57573:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "57573:6:84"
                    },
                    "nativeSrc": "57573:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57573:34:84"
                  },
                  "nativeSrc": "57573:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "57573:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "57643:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "57643:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "57655:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "57655:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "57666:2:84",
                            "nodeType": "YulLiteral",
                            "src": "57666:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "57651:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "57651:3:84"
                        },
                        "nativeSrc": "57651:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57651:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA",
                      "nativeSrc": "57616:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "57616:26:84"
                    },
                    "nativeSrc": "57616:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57616:54:84"
                  },
                  "nativeSrc": "57616:54:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "57616:54:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "57282:394:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "57446:9:84",
                "nodeType": "YulTypedName",
                "src": "57446:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "57457:6:84",
                "nodeType": "YulTypedName",
                "src": "57457:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "57465:6:84",
                "nodeType": "YulTypedName",
                "src": "57465:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "57473:6:84",
                "nodeType": "YulTypedName",
                "src": "57473:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "57484:4:84",
                "nodeType": "YulTypedName",
                "src": "57484:4:84",
                "type": ""
              }
            ],
            "src": "57282:394:84"
          },
          {
            "body": {
              "nativeSrc": "57732:206:84",
              "nodeType": "YulBlock",
              "src": "57732:206:84",
              "statements": [
                {
                  "nativeSrc": "57742:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "57742:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "57752:18:84",
                    "nodeType": "YulLiteral",
                    "src": "57752:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "57746:2:84",
                      "nodeType": "YulTypedName",
                      "src": "57746:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "57779:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "57779:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "57806:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "57806:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "57809:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "57809:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "57802:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "57802:3:84"
                        },
                        "nativeSrc": "57802:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57802:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "57818:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "57818:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "57821:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "57821:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "57814:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "57814:3:84"
                        },
                        "nativeSrc": "57814:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57814:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "57798:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "57798:3:84"
                    },
                    "nativeSrc": "57798:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57798:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "57783:11:84",
                      "nodeType": "YulTypedName",
                      "src": "57783:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "57834:31:84",
                  "nodeType": "YulAssignment",
                  "src": "57834:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "57849:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "57849:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "57862:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "57862:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "57845:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "57845:3:84"
                    },
                    "nativeSrc": "57845:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57845:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "57834:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "57834:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "57910:22:84",
                    "nodeType": "YulBlock",
                    "src": "57910:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "57912:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "57912:16:84"
                          },
                          "nativeSrc": "57912:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "57912:18:84"
                        },
                        "nativeSrc": "57912:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "57912:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "57887:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "57887:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "57896:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "57896:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "57884:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "57884:2:84"
                        },
                        "nativeSrc": "57884:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "57884:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "57877:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "57877:6:84"
                    },
                    "nativeSrc": "57877:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "57877:32:84"
                  },
                  "nativeSrc": "57874:58:84",
                  "nodeType": "YulIf",
                  "src": "57874:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "57681:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "57711:1:84",
                "nodeType": "YulTypedName",
                "src": "57711:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "57714:1:84",
                "nodeType": "YulTypedName",
                "src": "57714:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "57720:7:84",
                "nodeType": "YulTypedName",
                "src": "57720:7:84",
                "type": ""
              }
            ],
            "src": "57681:257:84"
          },
          {
            "body": {
              "nativeSrc": "57988:154:84",
              "nodeType": "YulBlock",
              "src": "57988:154:84",
              "statements": [
                {
                  "nativeSrc": "57998:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "57998:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "58008:18:84",
                    "nodeType": "YulLiteral",
                    "src": "58008:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "58002:2:84",
                      "nodeType": "YulTypedName",
                      "src": "58002:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "58035:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "58035:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "58050:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "58050:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "58053:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "58053:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "58046:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "58046:3:84"
                    },
                    "nativeSrc": "58046:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58046:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "58039:3:84",
                      "nodeType": "YulTypedName",
                      "src": "58039:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "58080:22:84",
                    "nodeType": "YulBlock",
                    "src": "58080:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "58082:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "58082:16:84"
                          },
                          "nativeSrc": "58082:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "58082:18:84"
                        },
                        "nativeSrc": "58082:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "58082:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "58075:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "58075:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "58068:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58068:6:84"
                    },
                    "nativeSrc": "58068:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58068:11:84"
                  },
                  "nativeSrc": "58065:37:84",
                  "nodeType": "YulIf",
                  "src": "58065:37:84"
                },
                {
                  "nativeSrc": "58111:25:84",
                  "nodeType": "YulAssignment",
                  "src": "58111:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "58124:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "58124:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "58127:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "58127:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "58120:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58120:3:84"
                        },
                        "nativeSrc": "58120:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58120:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "58132:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "58132:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "58116:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "58116:3:84"
                    },
                    "nativeSrc": "58116:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58116:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "58111:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "58111:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "57943:199:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "57973:1:84",
                "nodeType": "YulTypedName",
                "src": "57973:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "57976:1:84",
                "nodeType": "YulTypedName",
                "src": "57976:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "57982:1:84",
                "nodeType": "YulTypedName",
                "src": "57982:1:84",
                "type": ""
              }
            ],
            "src": "57943:199:84"
          },
          {
            "body": {
              "nativeSrc": "58321:231:84",
              "nodeType": "YulBlock",
              "src": "58321:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "58338:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "58338:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58349:2:84",
                        "nodeType": "YulLiteral",
                        "src": "58349:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58331:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58331:6:84"
                    },
                    "nativeSrc": "58331:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58331:21:84"
                  },
                  "nativeSrc": "58331:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58331:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58372:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58372:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58383:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58383:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58368:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58368:3:84"
                        },
                        "nativeSrc": "58368:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58368:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58388:2:84",
                        "nodeType": "YulLiteral",
                        "src": "58388:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58361:6:84"
                    },
                    "nativeSrc": "58361:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58361:30:84"
                  },
                  "nativeSrc": "58361:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58361:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58411:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58411:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58422:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58422:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58407:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58407:3:84"
                        },
                        "nativeSrc": "58407:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58407:18:84"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "58427:34:84",
                        "nodeType": "YulLiteral",
                        "src": "58427:34:84",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58400:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58400:6:84"
                    },
                    "nativeSrc": "58400:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58400:62:84"
                  },
                  "nativeSrc": "58400:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58400:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58482:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58482:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58493:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58493:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58478:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58478:3:84"
                        },
                        "nativeSrc": "58478:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58478:18:84"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "58498:11:84",
                        "nodeType": "YulLiteral",
                        "src": "58498:11:84",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58471:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58471:6:84"
                    },
                    "nativeSrc": "58471:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58471:39:84"
                  },
                  "nativeSrc": "58471:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58471:39:84"
                },
                {
                  "nativeSrc": "58519:27:84",
                  "nodeType": "YulAssignment",
                  "src": "58519:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "58531:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "58531:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58542:3:84",
                        "nodeType": "YulLiteral",
                        "src": "58542:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "58527:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "58527:3:84"
                    },
                    "nativeSrc": "58527:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58527:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "58519:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "58519:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "58147:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "58298:9:84",
                "nodeType": "YulTypedName",
                "src": "58298:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "58312:4:84",
                "nodeType": "YulTypedName",
                "src": "58312:4:84",
                "type": ""
              }
            ],
            "src": "58147:405:84"
          },
          {
            "body": {
              "nativeSrc": "58731:240:84",
              "nodeType": "YulBlock",
              "src": "58731:240:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "58748:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "58748:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58759:2:84",
                        "nodeType": "YulLiteral",
                        "src": "58759:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58741:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58741:6:84"
                    },
                    "nativeSrc": "58741:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58741:21:84"
                  },
                  "nativeSrc": "58741:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58741:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58782:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58782:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58793:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58793:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58778:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58778:3:84"
                        },
                        "nativeSrc": "58778:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58778:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58798:2:84",
                        "nodeType": "YulLiteral",
                        "src": "58798:2:84",
                        "type": "",
                        "value": "50"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58771:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58771:6:84"
                    },
                    "nativeSrc": "58771:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58771:30:84"
                  },
                  "nativeSrc": "58771:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58771:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58821:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58821:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58832:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58832:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58817:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58817:3:84"
                        },
                        "nativeSrc": "58817:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58817:18:84"
                      },
                      {
                        "hexValue": "5769746e65743a20747269656420746f206465636f64652076616c7565206672",
                        "kind": "string",
                        "nativeSrc": "58837:34:84",
                        "nodeType": "YulLiteral",
                        "src": "58837:34:84",
                        "type": "",
                        "value": "Witnet: tried to decode value fr"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58810:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58810:6:84"
                    },
                    "nativeSrc": "58810:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58810:62:84"
                  },
                  "nativeSrc": "58810:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58810:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "58892:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "58892:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "58903:2:84",
                            "nodeType": "YulLiteral",
                            "src": "58903:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "58888:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "58888:3:84"
                        },
                        "nativeSrc": "58888:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "58888:18:84"
                      },
                      {
                        "hexValue": "6f6d206572726f72656420726573756c742e",
                        "kind": "string",
                        "nativeSrc": "58908:20:84",
                        "nodeType": "YulLiteral",
                        "src": "58908:20:84",
                        "type": "",
                        "value": "om errored result."
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "58881:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "58881:6:84"
                    },
                    "nativeSrc": "58881:48:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58881:48:84"
                  },
                  "nativeSrc": "58881:48:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "58881:48:84"
                },
                {
                  "nativeSrc": "58938:27:84",
                  "nodeType": "YulAssignment",
                  "src": "58938:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "58950:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "58950:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "58961:3:84",
                        "nodeType": "YulLiteral",
                        "src": "58961:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "58946:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "58946:3:84"
                    },
                    "nativeSrc": "58946:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "58946:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "58938:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "58938:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_c540643114d8824fc67c5a3bcabc32e042f198b987f1133b221fc24db5c15b9a__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "58557:414:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "58708:9:84",
                "nodeType": "YulTypedName",
                "src": "58708:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "58722:4:84",
                "nodeType": "YulTypedName",
                "src": "58722:4:84",
                "type": ""
              }
            ],
            "src": "58557:414:84"
          },
          {
            "body": {
              "nativeSrc": "59045:176:84",
              "nodeType": "YulBlock",
              "src": "59045:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "59091:16:84",
                    "nodeType": "YulBlock",
                    "src": "59091:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "59100:1:84",
                              "nodeType": "YulLiteral",
                              "src": "59100:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "59103:1:84",
                              "nodeType": "YulLiteral",
                              "src": "59103:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "59093:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "59093:6:84"
                          },
                          "nativeSrc": "59093:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "59093:12:84"
                        },
                        "nativeSrc": "59093:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "59093:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "59066:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "59066:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "59075:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "59075:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "59062:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "59062:3:84"
                        },
                        "nativeSrc": "59062:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "59062:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "59087:2:84",
                        "nodeType": "YulLiteral",
                        "src": "59087:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "59058:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "59058:3:84"
                    },
                    "nativeSrc": "59058:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59058:32:84"
                  },
                  "nativeSrc": "59055:52:84",
                  "nodeType": "YulIf",
                  "src": "59055:52:84"
                },
                {
                  "nativeSrc": "59116:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "59116:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "59142:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "59142:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "59129:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "59129:12:84"
                    },
                    "nativeSrc": "59129:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59129:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "59120:5:84",
                      "nodeType": "YulTypedName",
                      "src": "59120:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "59185:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "59185:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "59161:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "59161:23:84"
                    },
                    "nativeSrc": "59161:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59161:30:84"
                  },
                  "nativeSrc": "59161:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "59161:30:84"
                },
                {
                  "nativeSrc": "59200:15:84",
                  "nodeType": "YulAssignment",
                  "src": "59200:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "59210:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "59210:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "59200:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "59200:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "58976:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "59011:9:84",
                "nodeType": "YulTypedName",
                "src": "59011:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "59022:7:84",
                "nodeType": "YulTypedName",
                "src": "59022:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "59034:6:84",
                "nodeType": "YulTypedName",
                "src": "59034:6:84",
                "type": ""
              }
            ],
            "src": "58976:245:84"
          },
          {
            "body": {
              "nativeSrc": "59294:175:84",
              "nodeType": "YulBlock",
              "src": "59294:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "59340:16:84",
                    "nodeType": "YulBlock",
                    "src": "59340:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "59349:1:84",
                              "nodeType": "YulLiteral",
                              "src": "59349:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "59352:1:84",
                              "nodeType": "YulLiteral",
                              "src": "59352:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "59342:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "59342:6:84"
                          },
                          "nativeSrc": "59342:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "59342:12:84"
                        },
                        "nativeSrc": "59342:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "59342:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "59315:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "59315:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "59324:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "59324:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "59311:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "59311:3:84"
                        },
                        "nativeSrc": "59311:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "59311:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "59336:2:84",
                        "nodeType": "YulLiteral",
                        "src": "59336:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "59307:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "59307:3:84"
                    },
                    "nativeSrc": "59307:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59307:32:84"
                  },
                  "nativeSrc": "59304:52:84",
                  "nodeType": "YulIf",
                  "src": "59304:52:84"
                },
                {
                  "nativeSrc": "59365:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "59365:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "59391:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "59391:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "59378:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "59378:12:84"
                    },
                    "nativeSrc": "59378:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59378:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "59369:5:84",
                      "nodeType": "YulTypedName",
                      "src": "59369:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "59433:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "59433:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "59410:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "59410:22:84"
                    },
                    "nativeSrc": "59410:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59410:29:84"
                  },
                  "nativeSrc": "59410:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "59410:29:84"
                },
                {
                  "nativeSrc": "59448:15:84",
                  "nodeType": "YulAssignment",
                  "src": "59448:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "59458:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "59458:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "59448:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "59448:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "59226:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "59260:9:84",
                "nodeType": "YulTypedName",
                "src": "59260:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "59271:7:84",
                "nodeType": "YulTypedName",
                "src": "59271:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "59283:6:84",
                "nodeType": "YulTypedName",
                "src": "59283:6:84",
                "type": ""
              }
            ],
            "src": "59226:243:84"
          },
          {
            "body": {
              "nativeSrc": "59655:166:84",
              "nodeType": "YulBlock",
              "src": "59655:166:84",
              "statements": [
                {
                  "nativeSrc": "59665:26:84",
                  "nodeType": "YulAssignment",
                  "src": "59665:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "59677:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "59677:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "59688:2:84",
                        "nodeType": "YulLiteral",
                        "src": "59688:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "59673:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "59673:3:84"
                    },
                    "nativeSrc": "59673:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59673:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "59665:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "59665:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "59707:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "59707:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "59722:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "59722:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "59734:3:84",
                                "nodeType": "YulLiteral",
                                "src": "59734:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "59739:10:84",
                                "nodeType": "YulLiteral",
                                "src": "59739:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "59730:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "59730:3:84"
                            },
                            "nativeSrc": "59730:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "59730:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "59718:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "59718:3:84"
                        },
                        "nativeSrc": "59718:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "59718:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "59700:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "59700:6:84"
                    },
                    "nativeSrc": "59700:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59700:52:84"
                  },
                  "nativeSrc": "59700:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "59700:52:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "59788:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "59788:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "59800:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "59800:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "59811:2:84",
                            "nodeType": "YulLiteral",
                            "src": "59811:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "59796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "59796:3:84"
                        },
                        "nativeSrc": "59796:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "59796:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA",
                      "nativeSrc": "59761:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "59761:26:84"
                    },
                    "nativeSrc": "59761:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59761:54:84"
                  },
                  "nativeSrc": "59761:54:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "59761:54:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_struct$_RadonSLA_$23503_memory_ptr__to_t_bytes4_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "59474:347:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "59616:9:84",
                "nodeType": "YulTypedName",
                "src": "59616:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "59627:6:84",
                "nodeType": "YulTypedName",
                "src": "59627:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "59635:6:84",
                "nodeType": "YulTypedName",
                "src": "59635:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "59646:4:84",
                "nodeType": "YulTypedName",
                "src": "59646:4:84",
                "type": ""
              }
            ],
            "src": "59474:347:84"
          },
          {
            "body": {
              "nativeSrc": "59951:141:84",
              "nodeType": "YulBlock",
              "src": "59951:141:84",
              "statements": [
                {
                  "nativeSrc": "59961:26:84",
                  "nodeType": "YulAssignment",
                  "src": "59961:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "59973:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "59973:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "59984:2:84",
                        "nodeType": "YulLiteral",
                        "src": "59984:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "59969:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "59969:3:84"
                    },
                    "nativeSrc": "59969:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59969:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "59961:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "59961:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "60003:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "60003:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "60018:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "60018:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "60026:4:84",
                            "nodeType": "YulLiteral",
                            "src": "60026:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "60014:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "60014:3:84"
                        },
                        "nativeSrc": "60014:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "60014:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "59996:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "59996:6:84"
                    },
                    "nativeSrc": "59996:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "59996:36:84"
                  },
                  "nativeSrc": "59996:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "59996:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "60052:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "60052:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "60063:2:84",
                            "nodeType": "YulLiteral",
                            "src": "60063:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "60048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "60048:3:84"
                        },
                        "nativeSrc": "60048:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "60048:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "60072:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "60072:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "60080:4:84",
                            "nodeType": "YulLiteral",
                            "src": "60080:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "60068:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "60068:3:84"
                        },
                        "nativeSrc": "60068:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "60068:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "60041:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "60041:6:84"
                    },
                    "nativeSrc": "60041:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "60041:45:84"
                  },
                  "nativeSrc": "60041:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "60041:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "59826:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "59912:9:84",
                "nodeType": "YulTypedName",
                "src": "59912:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "59923:6:84",
                "nodeType": "YulTypedName",
                "src": "59923:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "59931:6:84",
                "nodeType": "YulTypedName",
                "src": "59931:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "59942:4:84",
                "nodeType": "YulTypedName",
                "src": "59942:4:84",
                "type": ""
              }
            ],
            "src": "59826:266:84"
          },
          {
            "body": {
              "nativeSrc": "60144:88:84",
              "nodeType": "YulBlock",
              "src": "60144:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "60175:22:84",
                    "nodeType": "YulBlock",
                    "src": "60175:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "60177:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "60177:16:84"
                          },
                          "nativeSrc": "60177:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "60177:18:84"
                        },
                        "nativeSrc": "60177:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "60177:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "60160:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "60160:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "60171:1:84",
                            "nodeType": "YulLiteral",
                            "src": "60171:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "60167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "60167:3:84"
                        },
                        "nativeSrc": "60167:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "60167:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "60157:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "60157:2:84"
                    },
                    "nativeSrc": "60157:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "60157:17:84"
                  },
                  "nativeSrc": "60154:43:84",
                  "nodeType": "YulIf",
                  "src": "60154:43:84"
                },
                {
                  "nativeSrc": "60206:20:84",
                  "nodeType": "YulAssignment",
                  "src": "60206:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "60217:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "60217:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "60224:1:84",
                        "nodeType": "YulLiteral",
                        "src": "60224:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "60213:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "60213:3:84"
                    },
                    "nativeSrc": "60213:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "60213:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "60206:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "60206:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "60097:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "60126:5:84",
                "nodeType": "YulTypedName",
                "src": "60126:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "60136:3:84",
                "nodeType": "YulTypedName",
                "src": "60136:3:84",
                "type": ""
              }
            ],
            "src": "60097:135:84"
          },
          {
            "body": {
              "nativeSrc": "60336:87:84",
              "nodeType": "YulBlock",
              "src": "60336:87:84",
              "statements": [
                {
                  "nativeSrc": "60346:26:84",
                  "nodeType": "YulAssignment",
                  "src": "60346:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "60358:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "60358:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "60369:2:84",
                        "nodeType": "YulLiteral",
                        "src": "60369:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "60354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "60354:3:84"
                    },
                    "nativeSrc": "60354:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "60354:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "60346:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "60346:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "60388:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "60388:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "60403:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "60403:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "60411:4:84",
                            "nodeType": "YulLiteral",
                            "src": "60411:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "60399:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "60399:3:84"
                        },
                        "nativeSrc": "60399:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "60399:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "60381:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "60381:6:84"
                    },
                    "nativeSrc": "60381:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "60381:36:84"
                  },
                  "nativeSrc": "60381:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "60381:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "60237:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "60305:9:84",
                "nodeType": "YulTypedName",
                "src": "60305:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "60316:6:84",
                "nodeType": "YulTypedName",
                "src": "60316:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "60327:4:84",
                "nodeType": "YulTypedName",
                "src": "60327:4:84",
                "type": ""
              }
            ],
            "src": "60237:186:84"
          }
        ]
      },
      "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        let _2 := shl(192, 0xffffffffffffffff)\n        value := and(_1, _2)\n        if lt(len, 8)\n        {\n            value := and(and(_1, shl(shl(3, sub(8, len)), _2)), _2)\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_f06b5faab7b0a414052fa5e4770178a1dae2cf95b0f12b6ee69275e38c572aa3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 34)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: unsettled solv\")\n        mstore(add(headStart, 96), \"er\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d93f0ef3c645ff8e15db5c47a2f80f3c054e6e82c4c316dd87b5813e591585fb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: not implemente\")\n        mstore(add(headStart, 96), \"d\")\n        tail := add(headStart, 128)\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 copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\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        let _1 := 0x20\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(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\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 _1 := 0x20\n        let srcPtr := add(value0, _1)\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, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(add(headStart, _1), 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, _1)\n        let srcPtr_1 := add(value2, _1)\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, _1)\n            srcPtr_1 := add(srcPtr_1, _1)\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        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { 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, _1) { 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_contract$_IWitnetPriceSolver_$13485_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_9064(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_9072(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation_9078(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        let newFreePtr := add(memPtr, 0xe0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\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_contract$_WitnetOracle_$749__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 panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let _1 := mload(value0)\n        if iszero(lt(_1, 255)) { panic_error_0x21() }\n        mstore(add(headStart, 32), _1)\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_string(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(value0, add(headStart, 32))\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_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(value0, add(headStart, 32))\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_$16432__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$_RadonSLA_$16519_memory_ptr__to_t_struct$_RadonSLA_$16519_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        let memberValue0 := mload(add(value0, 0x40))\n        let _1 := 0xffffffffffffffff\n        mstore(add(headStart, 0x40), and(memberValue0, _1))\n        mstore(add(headStart, 0x60), and(mload(add(value0, 0x60)), _1))\n        mstore(add(headStart, 0x80), and(mload(add(value0, 0x80)), _1))\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__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_enum_RadonDataRequestMethods(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        let _1 := 0x20\n        pos := add(pos, _1)\n        let tail := add(add(pos_1, shl(5, length)), _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        let i_1 := 0\n        for { } lt(i_1, length) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let _2 := mload(srcPtr)\n            let pos_2 := tail\n            pos_2 := tail\n            let tail_1 := add(tail, 64)\n            let srcPtr_1 := _2\n            let i_2 := i\n            for { } lt(i_2, 0x02) { i_2 := add(i_2, 1) }\n            {\n                mstore(pos_2, sub(tail_1, tail))\n                tail_1 := abi_encode_string(mload(srcPtr_1), tail_1)\n                srcPtr_1 := add(srcPtr_1, _1)\n                pos_2 := add(pos_2, _1)\n            }\n            tail := tail_1\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\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 _3 := mload(srcPtr)\n            let _4 := 0xe0\n            mstore(tail_2, and(mload(_3), 0xff))\n            let memberValue0 := mload(add(_3, _1))\n            abi_encode_enum_RadonDataRequestMethods(memberValue0, add(tail_2, _1))\n            let memberValue0_1 := mload(add(_3, _2))\n            abi_encode_enum_RadonDataTypes(memberValue0_1, add(tail_2, _2))\n            let _5 := 0x60\n            let memberValue0_2 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), _4)\n            let tail_3 := abi_encode_string(memberValue0_2, add(tail_2, _4))\n            let _6 := 0x80\n            let memberValue0_3 := mload(add(_3, _6))\n            mstore(add(tail_2, _6), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_3, tail_3)\n            let _7 := 0xa0\n            let memberValue0_4 := mload(add(_3, _7))\n            mstore(add(tail_2, _7), sub(tail_4, tail_2))\n            let tail_5 := abi_encode_array_array_string_dyn(memberValue0_4, tail_4)\n            let _8 := 0xc0\n            let memberValue0_5 := mload(add(_3, _8))\n            mstore(add(tail_2, _8), sub(tail_5, tail_2))\n            tail_2 := abi_encode_string(memberValue0_5, tail_5)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\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        value2 := calldataload(add(headStart, 32))\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_struct_RadonSLA(value, pos)\n    {\n        mstore(pos, and(mload(value), 0xff))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n    }\n    function abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_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        mstore(add(headStart, 96), and(mload(add(value0, 64)), 0xffffffffffffffffff))\n        let memberValue0 := mload(add(value0, 96))\n        mstore(add(headStart, 128), 0xe0)\n        let tail_1 := abi_encode_string(memberValue0, add(headStart, 256))\n        mstore(add(headStart, 160), mload(add(value0, 128)))\n        let memberValue0_1 := mload(add(value0, 160))\n        abi_encode_struct_RadonSLA(memberValue0_1, add(headStart, 192))\n        tail := tail_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        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { 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, _1) { 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_RadonSLA_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$_RadonSLA_$23503_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_RadonSLA_calldata(add(headStart, 32), dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_WitnetRequest_$826(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 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        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\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_enum_ResponseStatus(value, pos)\n    {\n        if iszero(lt(value, 6)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_struct_Price(value, pos)\n    {\n        mstore(pos, mload(value))\n        mstore(add(pos, 0x20), mload(add(value, 0x20)))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        let memberValue0 := mload(add(value, 0x60))\n        abi_encode_enum_ResponseStatus(memberValue0, add(pos, 0x60))\n    }\n    function abi_encode_tuple_t_struct$_Price_$13453_memory_ptr__to_t_struct$_Price_$13453_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$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_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), and(mload(add(value0, 64)), 0xffffffff))\n        mstore(add(headStart, 128), mload(add(value0, 96)))\n        let memberValue0 := mload(add(value0, 128))\n        mstore(add(headStart, 0xa0), 0xa0)\n        tail := abi_encode_string(memberValue0, add(headStart, 192))\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$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ResponseStatus(value0, headStart)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\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_$13453_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\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, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_struct$_RadonSLA_$23503_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonSLA_calldata(headStart, dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_WitnetRequestTemplate_$1005t_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        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { 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, _1) { 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 panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\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_encode_tuple_t_stringliteral_28ad59ab3f0f7b58d03f5e9d0886534278115562be34d295857cdff4ae673617__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: no solver addr\")\n        mstore(add(headStart, 96), \"ess\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := srcOffset\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\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_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\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_bytes4_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        let _1 := 32\n        mstore(add(headStart, 32), 64)\n        let pos := tail_1\n        mstore(tail_1, value2)\n        pos := add(headStart, 96)\n        let tail_2 := add(add(headStart, shl(5, value2)), 96)\n        let srcPtr := value1\n        let i := 0\n        for { } lt(i, value2) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(95)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value1, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := array_allocation_size_bytes(_1)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        mstore(memPtr, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(memPtr, 0x20), _1)\n        array := memPtr\n    }\n    function abi_decode_tuple_t_string_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_packed_t_stringliteral_dc241c4a500633846bfe69d4463729475c0bff8d6bd4288914a8115310cb4ae0_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetPriceFeedUpgradable: solve\")\n        mstore(add(pos, 32), \"r validation failed: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 53), length)\n        end := add(add(pos, length), 53)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_1951bba37ae67239ce9350d517835ad4b982854d30580a7d3a830c8c7fa4da98_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetPriceFeeds: smoke-test fai\")\n        mstore(add(pos, 32), \"led: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 37), length)\n        end := add(add(pos, length), 37)\n    }\n    function abi_encode_tuple_t_bytes4_t_address__to_t_bytes4_t_address__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), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_address_payable_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_25a8f932bd7bf38b2b2f405d5885a8a8d6779c383f082c44f88a7b89fe555607__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 31)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: not the owner\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_eb28d0d973b4e218f93b9701d8218a106926279c50f87a5e2343f9fb52faf0ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 34)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: already upgrad\")\n        mstore(add(headStart, 96), \"ed\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f4d0471bc6079bdf2bf8c27b594762f1474bc67c5c6b0a4bf786c1721e4c2875__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: inexistent ora\")\n        mstore(add(headStart, 96), \"cle\")\n        tail := add(headStart, 128)\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        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_6aadda5693daf7de03647a8802b17fb8d9d9e036da1f9584c6fc2dc836b66a86__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 36)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: uncompliant or\")\n        mstore(add(headStart, 96), \"acle\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        finalize_allocation_9064(memPtr)\n        let value := mload(_2)\n        if iszero(lt(value, 255)) { revert(0, 0) }\n        mstore(memPtr, value)\n        let offset_1 := mload(add(_2, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_64a4ffcfcea2db7a28cfbd9db64548d124406535e468937bb05d697f6a65148a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: no RAD hash\")\n        tail := add(headStart, 96)\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_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_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 array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let _4 := array_allocation_size_array_bytes32_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\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_enum_RadonDataRequestMethods_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 _1 := mload(offset)\n        let _2 := 0x20\n        let _3 := array_allocation_size_array_bytes32_dyn(_1)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _3)\n        let dst := memPtr\n        mstore(memPtr, _1)\n        dst := add(memPtr, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := mload(src)\n            let _4 := 0xffffffffffffffff\n            if gt(innerOffset, _4)\n            {\n                let _5 := 0\n                revert(_5, _5)\n            }\n            let _6 := add(offset, innerOffset)\n            if iszero(slt(add(_6, 63), end))\n            {\n                let _7 := 0\n                revert(_7, _7)\n            }\n            let memPtr_1 := mload(64)\n            finalize_allocation_9064(memPtr_1)\n            let dst_1 := memPtr_1\n            let srcEnd_1 := add(_6, 96)\n            if gt(srcEnd_1, end)\n            {\n                let _8 := 0\n                revert(_8, _8)\n            }\n            let src_1 := add(_6, _2)\n            for { } lt(src_1, srcEnd_1) { src_1 := add(src_1, _2) }\n            {\n                let innerOffset_1 := mload(src_1)\n                if gt(innerOffset_1, _4)\n                {\n                    let _9 := 0\n                    revert(_9, _9)\n                }\n                mstore(dst_1, abi_decode_string_fromMemory(add(add(_6, innerOffset_1), _2), end))\n                dst_1 := add(dst_1, _2)\n            }\n            mstore(dst, memPtr_1)\n            dst := add(dst, _2)\n        }\n        array := memPtr\n    }\n    function abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xe0) { revert(0, 0) }\n        let value := allocate_memory()\n        mstore(value, abi_decode_uint8_fromMemory(_2))\n        mstore(add(value, 32), abi_decode_enum_RadonDataRequestMethods_fromMemory(add(_2, 32)))\n        mstore(add(value, 64), abi_decode_enum_RadonDataTypes_fromMemory(add(_2, 64)))\n        let offset_1 := mload(add(_2, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        let offset_2 := mload(add(_2, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 128), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n        let offset_3 := mload(add(_2, 160))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, 160), abi_decode_array_array_string_dyn_fromMemory(add(_2, offset_3), dataEnd))\n        let offset_4 := mload(add(_2, 192))\n        if gt(offset_4, _1) { revert(0, 0) }\n        mstore(add(value, 192), abi_decode_string_fromMemory(add(_2, offset_4), dataEnd))\n        value0 := value\n    }\n    function abi_decode_tuple_t_enum$_RadonDataTypes_$16432_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_stringliteral_11157465577087b793571f8ece7e9e256844fed1020409c47f8856e063b485e4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 38)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: bad result dat\")\n        mstore(add(headStart, 96), \"a type\")\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 abi_encode_tuple_t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: unknown feed\")\n        tail := add(headStart, 96)\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 panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n    function abi_decode_uint24_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_uint72_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xffffffffffffffffff))) { revert(0, 0) }\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_struct_RadonSLA_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        finalize_allocation_9064(memPtr)\n        value := memPtr\n        let value_1 := mload(headStart)\n        validator_revert_uint8(value_1)\n        mstore(memPtr, value_1)\n        let value_2 := mload(add(headStart, 32))\n        validator_revert_uint64(value_2)\n        mstore(add(memPtr, 32), value_2)\n    }\n    function abi_decode_tuple_t_struct$_Request_$23476_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xe0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_9072(memPtr)\n        let value := mload(_2)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        mstore(add(memPtr, 32), abi_decode_uint24_fromMemory(add(_2, 32)))\n        mstore(add(memPtr, 64), abi_decode_uint72_fromMemory(add(_2, 64)))\n        let offset_1 := mload(add(_2, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 96), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        mstore(add(memPtr, 128), mload(add(_2, 128)))\n        mstore(add(memPtr, 160), abi_decode_struct_RadonSLA_fromMemory(add(_2, 160), dataEnd))\n        value0 := memPtr\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 abi_decode_tuple_t_struct$_RadonSLA_$23503_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_9064(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_encode_tuple_t_stringliteral_530619d6beb9c7e1863b6c608548da797cf5310e6c7ed16e3835858950597c54__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: unsecure updat\")\n        mstore(add(headStart, 96), \"e\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_add_t_uint16(x, y) -> sum\n    {\n        let _1 := 0xffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_rational_32_by_1__to_t_uint256_t_uint16__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffff))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\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 panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\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_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetPriceFeeds: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 18), length)\n        end := add(add(pos, length), 18)\n    }\n    function abi_decode_enum_ResponseStatus_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 6)) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_Price_$13453_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 128)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, mload(headStart))\n        mstore(add(memPtr, 32), mload(add(headStart, 32)))\n        mstore(add(memPtr, 64), mload(add(headStart, 64)))\n        mstore(add(memPtr, 96), abi_decode_enum_ResponseStatus_fromMemory(add(headStart, 96)))\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_struct$_Response_$23488_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xa0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_9078(memPtr)\n        let value := mload(_2)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(_2, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := mload(add(_2, 64))\n        if iszero(eq(value_2, and(value_2, 0xffffffff))) { revert(0, 0) }\n        mstore(add(memPtr, 64), value_2)\n        mstore(add(memPtr, 96), mload(add(_2, 96)))\n        let offset_1 := mload(add(_2, 128))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 128), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function decrement_t_uint256(value) -> ret\n    {\n        if iszero(value) { panic_error_0x11() }\n        ret := add(value, not(0))\n    }\n    function abi_encode_tuple_t_stringliteral_2c72a06d770ed83146674af5322b50df4d38bad4fa039f732a7a992f9582b941__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: invalid SLA\")\n        tail := add(headStart, 96)\n    }\n    function update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint8(value_1)\n        let _1 := and(value_1, 0xff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(255)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_uint64(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffffffffffffff)), _1), and(shl(8, value_2), 0xffffffffffffffff00)))\n    }\n    function abi_encode_tuple_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let value := calldataload(value0)\n        validator_revert_uint8(value)\n        mstore(headStart, and(value, 0xff))\n        let value_1 := calldataload(add(value0, 0x20))\n        validator_revert_uint64(value_1)\n        mstore(add(headStart, 0x20), and(value_1, 0xffffffffffffffff))\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        let _1 := 0x20\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, _1)\n            pos := add(pos, _1)\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 _1 := 32\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 _2 := 5\n        let tail_2 := add(add(headStart, shl(5, value1)), 64)\n        let srcPtr := value0\n        let i := 0\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, add(sub(calldatasize(), value0), not(30)))) { revert(0, 0) }\n            let value := add(rel_offset_of_tail, value0)\n            let length := calldataload(value)\n            let value_1 := add(value, _1)\n            if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n            if sgt(value_1, sub(calldatasize(), shl(_2, length))) { revert(0, 0) }\n            tail_2 := abi_encode_array_string_calldata_dyn_calldata(value_1, length, tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_enum$_ResponseStatus_$23496_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_ResponseStatus_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_bytes32_t_string_calldata_ptr__to_t_bytes32_t_string_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string_calldata(value1, value2, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\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        let _1 := not(3)\n        returndatacopy(data, 4, add(returndatasize(), _1))\n        let offset := mload(data)\n        let _2 := returndatasize()\n        let _3 := 0xffffffffffffffff\n        if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, _3) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_t_stringliteral_674fbcbe269b23c2e5542bee3f0fc3cf5aad6b15a3459c6156f9fd10004e1725__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 37)\n        mstore(add(headStart, 64), \"WitnetPriceFeeds: insufficient r\")\n        mstore(add(headStart, 96), \"eward\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_int256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        let _1 := slt(y, 0)\n        if or(and(iszero(_1), sgt(diff, x)), and(_1, slt(diff, x))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__to_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_struct_RadonSLA(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        abi_encode_struct_RadonSLA(value2, add(headStart, 64))\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let _1 := 0xffffffffffffffff\n        let product_raw := mul(and(x, _1), and(y, _1))\n        product := and(product_raw, _1)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let _1 := 0xffffffffffffffff\n        let y_1 := and(y, _1)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, _1), y_1)\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_stringliteral_c540643114d8824fc67c5a3bcabc32e042f198b987f1133b221fc24db5c15b9a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 50)\n        mstore(add(headStart, 64), \"Witnet: tried to decode value fr\")\n        mstore(add(headStart, 96), \"om errored result.\")\n        tail := add(headStart, 128)\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_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_encode_tuple_t_bytes4_t_struct$_RadonSLA_$23503_memory_ptr__to_t_bytes4_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        abi_encode_struct_RadonSLA(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "481:27543:38:-:0;;;675:10:28;639:46;;-1:-1:-1;;;968:76:38;;1210:336;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1412:11;1438;694:288:28;;;;;;;;;;;;;;;;;846:11;1355:10:38;511:29:10;685:203:8;;;;;;;;;;;;;-1:-1:-1;;;685:203:8;;;817:9;806:20;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;848:32:8;871:7;848:16;:32::i;:::-;837:43;;-1:-1:-1;;;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;830:51:84;803:18;;1322:31:1;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:83;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;875:40:28::1;::::0;;;;942:32;;::::1;::::0;;::::1;::::0;926:48:::1;::::0;-1:-1:-1;;;;;;;;1525:13:38::2;;::::0;481:27543;;22867:122:64;22930:7;22957:24;22970:6;22978:2;22957:12;:24::i;:::-;22950:31;22867:122;-1:-1:-1;;22867:122:64:o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;:::-;1478:156;:::o;22997:413:64:-;23098:16;23152:2;23139:9;:15;;;;23132:23;;;;:::i;:::-;23191:9;23219;23203:25;;:6;:13;:25;:53;;23243:6;:13;23203:53;;;23231:9;23203:53;;;23191:65;;23276:7;23271:121;23294:4;23289:2;:9;23271:121;;;23369:2;23374:1;23369:6;23346;23353:2;23346:10;;;;;;;;:::i;:::-;;;;;;;23338:38;;23326:50;;;;;23300:5;;23271:121;;;;23166:237;22997:413;;;;:::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;14:533:84:-;119:6;127;135;188:2;176:9;167:7;163:23;159:32;156:52;;;204:1;201;194:12;156:52;230:16;;-1:-1:-1;;;;;275:31:84;;265:42;;255:70;;321:1;318;311:12;255:70;394:2;379:18;;373:25;344:5;;-1:-1:-1;436:15:84;;429:23;417:36;;407:64;;467:1;464;457:12;407:64;490:7;480:17;;;537:2;526:9;522:18;516:25;506:35;;14:533;;;;;:::o;552:127::-;613:10;608:3;604:20;601:1;594:31;644:4;641:1;634:15;668:4;665:1;658:15;892:127;953:10;948:3;944:20;941:1;934:31;984:4;981:1;974:15;1008:4;1005:1;998:15;1024:127;1085:10;1080:3;1076:20;1073:1;1066:31;1116:4;1113:1;1106:15;1140:4;1137:1;1130:15;1024:127;481:27543:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "481:27543:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:7:38;;-1:-1:-1;;;;;;1663:7:38;-1:-1:-1;;;1663:44:38;:92;;;;-1:-1:-1;1728:10:38;1750:4;1728:27;1663:92;1645:868;;;1782:15;1800:42;1838:2;1818:16;1825:8;1782:15;1818:16;:::i;:::-;-1:-1:-1;;;;;;1818:22:38;;;1800:10;:42::i;:::-;:49;;;-1:-1:-1;;;;;1800:49:38;;-1:-1:-1;1800:49:38;1864:117;;;;-1:-1:-1;;;1864:117:38;;552:2:84;1864:117:38;;;534:21:84;591:2;571:18;;;564:30;630:34;610:18;;;603:62;-1:-1:-1;;;681:18:84;;;674:32;723:19;;1864:117:38;;;;;;;;;2041:4;2035:11;2085:14;2082:1;2077:3;2064:36;2185:1;2182;2166:14;2161:3;2152:7;2145:5;2132:55;2217:16;2274:4;2271:1;2266:3;2251:28;2304:6;2332:28;;;;2404:4;2399:3;2392:17;2332:28;2353:4;2348:3;2341:17;1645:868;2458:43;;-1:-1:-1;;;2458:43:38;;955:2:84;2458:43:38;;;937:21:84;994:2;974:18;;;967:30;1033:34;1013:18;;;1006:62;-1:-1:-1;;;1084:18:84;;;1077:31;1125:19;;2458:43:38;753:397:84;1645:868:38;481:27543;7872:154;;;;;;;;;;-1:-1:-1;7872:154:38;;;;;:::i;:::-;;:::i;:::-;;;1687:25:84;;;1675:2;1660:18;7872:154:38;;;;;;;;6152:613;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;15234:2319::-;;;;;;;;;;-1:-1:-1;15234:2319:38;;;;;:::i;:::-;;:::i;17984:480::-;;;;;;;;;;-1:-1:-1;17984:480:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;10446:190::-;;;;;;:::i;:::-;;:::i;2951:1478::-;;;;;;;;;;-1:-1:-1;2951:1478:38;;;;;:::i;:::-;;:::i;1051:45::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9039:32:84;;;9021:51;;9009:2;8994:18;1051:45:38;8855:223:84;8839:212:38;;;;;;;;;;-1:-1:-1;8839:212:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9280:345::-;;;;;;;;;;-1:-1:-1;9280:345:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1477:77:83:-;;;;;;;;;;-1:-1:-1;1541:5:83;1477:77;;1799:47:28;;;;;;;;;;;;;;;1931:88:83;;;;;;;;;;-1:-1:-1;2000:11:83;1931:88;;;10483:14:84;;10476:22;10458:41;;10446:2;10431:18;1931:88:83;10318:187:84;2176:135:28;;;;;;;;;;;;;:::i;8239:170:38:-;;;;;;;;;;-1:-1:-1;8239:170:38;;;;;:::i;:::-;;:::i;418:56:8:-;;;;;;;;;;;;;;;;;;;;;;:::i;17807:165:38:-;;;;;;;;;;-1:-1:-1;17807:165:38;;;;;:::i;:::-;;:::i;:::-;;;11282:4:84;11270:17;;;11252:36;;11240:2;11225:18;17807:165:38;11110:184:84;4516:305:38;;;;;;;;;;-1:-1:-1;4516:305:38;;;;;:::i;:::-;;:::i;7424:163::-;;;;;;;;;;;;;:::i;:::-;;;;;;11697:4:84;11739:3;11728:9;11724:19;11716:27;;11789:4;11780:6;11774:13;11770:24;11759:9;11752:43;11863:4;11855;11847:6;11843:17;11837:24;11833:35;11826:4;11815:9;11811:20;11804:65;11916:4;11908:6;11904:17;11898:24;-1:-1:-1;;;;;12015:2:84;12001:12;11997:21;11990:4;11979:9;11975:20;11968:51;12087:2;12079:4;12071:6;12067:17;12061:24;12057:33;12050:4;12039:9;12035:20;12028:63;12159:2;12151:4;12143:6;12139:17;12133:24;12129:33;12122:4;12111:9;12107:20;12100:63;;;11551:618;;;;;2293:101:1;;;;;;;;;;;;;:::i;940:114:8:-;;;;;;;;;;;;;:::i;11451:157:38:-;;;;;;;;;;;;;:::i;10290:148::-;;;;;;;;;;;;;:::i;9803:479::-;;;;;;;;;;-1:-1:-1;9803:479:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13788:941::-;;;;;;;;;;-1:-1:-1;13788:941:38;;;;;:::i;:::-;;:::i;12207:668::-;;;;;;;;;;-1:-1:-1;12207:668:38;;;;;:::i;:::-;;:::i;8417:202::-;;;;;;;;;;-1:-1:-1;8417:202:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5400:387::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11272:167::-;;;;;;;;;;-1:-1:-1;11384:7:38;1710:6:1;-1:-1:-1;;;;;1710:6:1;11272:167:38;2176:135:28;9637:158:38;;;;;;;;;;-1:-1:-1;9637:158:38;;;;;:::i;:::-;;:::i;20951:423::-;;;;;;;;;;-1:-1:-1;20951:423:38;;;;;:::i;:::-;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;10648:370:38;;;;;;:::i;:::-;;:::i;14737:190::-;;;;;;;;;;-1:-1:-1;14737:190:38;;;;;:::i;:::-;;:::i;968:76::-;;;;;;;;;;;;;;;5795:174;;;;;;;;;;-1:-1:-1;5795:174:38;;;;;:::i;:::-;5935:25;;;;;;;;5795:174;13265:220;;;;;;;;;;-1:-1:-1;13265:220:38;;;;;:::i;:::-;;:::i;795:165::-;;;;;;;;;;-1:-1:-1;918:34:38;;;;;;;;;;;;;;;;;795:165;;7599:265;;;;;;;;;;-1:-1:-1;7599:265:38;;;;;:::i;:::-;;:::i;18472:1851::-;;;;;;;;;;-1:-1:-1;18472:1851:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6777:236::-;;;;;;;;;;-1:-1:-1;6777:236:38;;;;;:::i;:::-;;:::i;8627:204::-;;;;;;;;;;-1:-1:-1;8627:204:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;639:46:28:-;;;;;;;;;;;;;;;7025:145:38;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;7140:22:38;7025:145;;12883:374;;;;;;;;;;;;;:::i;11794:191::-;;;;;;;;;;;;;:::i;11616:170::-;;;;;;;;;;-1:-1:-1;11751:27:38;;11616:170;;11751:27;;;;22043:38:84;;22031:2;22016:18;11616:170:38;21899:188:84;5977:167:38;;;;;;;;;;-1:-1:-1;5977:167:38;;;;;:::i;:::-;;:::i;9063:209::-;;;;;;;;;;-1:-1:-1;9063:209:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11997:202::-;;;;;;;;;;-1:-1:-1;11997:202:38;;;;;:::i;:::-;;:::i;21926:662::-;;;;;;;;;;-1:-1:-1;21926:662:38;;;;;:::i;:::-;;:::i;:::-;;;;22701:25:84;;;22757:2;22742:18;;22735:34;;;;22785:18;;;22778:34;22689:2;22674:18;21926:662:38;22501:317:84;8034:197:38;;;;;;;;;;-1:-1:-1;8034:197:38;;;;;:::i;:::-;;:::i;20331:365::-;;;;;;;;;;-1:-1:-1;20331:365:38;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13493:283::-;;;;;;;;;;-1:-1:-1;13493:283:38;;;;;:::i;:::-;;:::i;14935:291::-;;;;;;;;;;-1:-1:-1;14935:291:38;;;;;:::i;:::-;;:::i;21382:286::-;;;;;;;;;;-1:-1:-1;21382:286:38;;;;;:::i;:::-;;:::i;1549:127:42:-;-1:-1:-1;;;;;;1641:27:42;1607:14;1641:27;;;:19;:27;;;;;;1549:127::o;7872:154:38:-;7961:7;7993:25;8011:6;7993:17;:25::i;:::-;7986:32;7872:154;-1:-1:-1;;7872:154:38:o;6152:613::-;-1:-1:-1;;;;;;;;;;;6337:22:38;;;;;;;;;;;;;;;;;;;6245:20;;;;;;6337:22;;6344:15;6337:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6337:22:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6395:4;:11;-1:-1:-1;;;;;6382:25:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6370:37;;6443:4;:11;-1:-1:-1;;;;;6429:26:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6429:26:38;;6418:37;;6471:8;6466:292;6491:4;:11;6485:3;:17;6466:292;;;6527:23;6553:21;6564:4;6569:3;6564:9;;;;;;;;:::i;:::-;;;;;;;6553:10;:21::i;:::-;6527:47;;6606:8;:16;;6589:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;6599:3;6589:14;;;;;;;;:::i;:::-;;;;;;;;;;:33;6661:15;;;;-1:-1:-1;;;;;6661:15:38;6653:38;:93;;6729:15;;;;6721:24;;-1:-1:-1;;6721:24:38;6653:93;;;6694:8;:16;;;6653:93;6637:8;6646:3;6637:13;;;;;;;;:::i;:::-;;;;;;;;;;:109;-1:-1:-1;6504:6:38;;6466:292;;;;6152:613;;;:::o;15234:2319::-;1531:13:1;:11;:13::i;:::-;-1:-1:-1;;;;;15459:20:38;::::1;15437:105;;;::::0;-1:-1:-1;;;15437:105:38;;25905:2:84;15437:105:38::1;::::0;::::1;25887:21:84::0;25944:2;25924:18;;;25917:30;25983:34;25963:18;;;25956:62;-1:-1:-1;;;26034:18:84;;;26027:33;26077:19;;15437:105:38::1;25703:399:84::0;15437:105:38::1;15553:13;15569;15574:7;;15569:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15569:4:38::1;::::0;-1:-1:-1;;;15569:13:38:i:1;:::-;15553:29;;15601:23;15627:18;15638:6;15627:10;:18::i;:::-;15601:44;;15660:8;:14;;;15678:1;15660:19:::0;15656:483:::1;;15729:8:::0;:26:::1;15748:7:::0;;15729:8;:26:::1;:::i;:::-;;15790:25;15807:7;;15790:16;:25::i;:::-;15770:17;::::0;::::1;:45:::0;;-1:-1:-1;;15770:45:38::1;;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;;;;;;15847:15:38::1;::::0;;::::1;:22:::0;:26:::1;::::0;::::1;:::i;:::-;15830:14;::::0;::::1;:43:::0;15888:15:::1;::::0;::::1;:24:::0;;-1:-1:-1;;;;;;15888:24:38::1;-1:-1:-1::0;;;;;15888:24:38;::::1;;::::0;;-1:-1:-1;;;;;;;;;;;15927:15:38::1;::::0;;::::1;:28:::0;;;;::::1;::::0;;-1:-1:-1;15927:28:38;;;::::1;::::0;;::::1;::::0;::::1;;::::0;;::::1;::::0;;;;::::1;;;;::::0;;::::1;;;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;15656:483:::1;;;15977:15;::::0;::::1;::::0;-1:-1:-1;;;;;15977:25:38;;::::1;:15:::0;::::1;:25;15973:166;;16087:1;16068:16;::::0;::::1;:20:::0;16103:15:::1;::::0;::::1;:24:::0;;-1:-1:-1;;;;;;16103:24:38::1;-1:-1:-1::0;;;;;16103:24:38;::::1;;::::0;;15973:166:::1;16282:13;16297:20:::0;16321:6:::1;-1:-1:-1::0;;;;;16321:19:38::1;16382:36;;;16437:6;16462:4;;16341:140;;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;16341:140:38;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;16341:140:38::1;-1:-1:-1::0;;;;;;16341:140:38;;::::1;::::0;;;::::1;::::0;;;16321:161;;::::1;::::0;16341:140;16321:161:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16281:201;;;;16502:8;16497:333;;16587:1;16578:7;16574:15;16563:26;;16775:7;16764:28;;;;;;;;;;;;:::i;:::-;16640:172;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;16640:172:38;;::::1;::::0;;;;;;;-1:-1:-1;;;16626:188:38;;::::1;::::0;::::1;;;:::i;16497:333::-;16202:639;;16969:13;16984:20:::0;17016:4:::1;-1:-1:-1::0;;;;;17008:24:38::1;17074:33;;;17126:6;17033:114;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;17033:114:38;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;17033:114:38::1;-1:-1:-1::0;;;;;;17033:114:38;;::::1;::::0;;;::::1;::::0;;;17008:140;;::::1;::::0;17033:114;17008:140:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16968:180;;;;17168:8;17163:317;;17253:1;17244:7;17240:15;17229:26;;17425:7;17414:28;;;;;;;;;;;;:::i;:::-;17306:156;;;;;;;;:::i;17163:317::-;-1:-1:-1::0;;17506:39:38::1;::::0;;-1:-1:-1;;;;;;32538:33:84;;32520:52;;-1:-1:-1;;;;;32608:32:84;;32603:2;32588:18;;32581:60;17506:39:38::1;::::0;32493:18:84;17506:39:38::1;;;;;;;15426:2127;;15234:2319:::0;;;;;:::o;17984:480::-;18085:33;18120:27;18201:18;18212:6;18201:10;:18::i;:::-;:25;;;-1:-1:-1;;;;;18201:25:38;;-1:-1:-1;18201:25:38;18262:15;18270:6;18262:7;:15::i;:::-;18238:39;;18315:5;:12;-1:-1:-1;;;;;18302:26:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18288:40;;18344:8;18339:118;18364:5;:12;18358:3;:18;18339:118;;;18420:25;18434:5;18440:3;18434:10;;;;;;;;:::i;:::-;;;;;;;18420:13;:25::i;:::-;18401:11;18413:3;18401:16;;;;;;;;:::i;:::-;;;;;;;;;;:44;18378:6;;18339:118;;;;18154:310;17984:480;;;:::o;10446:190::-;10586:42;;;;;;;;;10610:17;10586:42;;;;;;;;;-1:-1:-1;;;;;10586:42:38;;;;;-1:-1:-1;;10586:42:38;;10602:6;;10586:15;:42::i;2951:1478::-;3045:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;;3080:743:38;;3211:9;3200:32;;;;;;;;;;;;:::i;:::-;3191:41;;3247:26;3266:6;3247:18;:26::i;:::-;3375:136;;;;;;;;;3427:2;3375:136;;;3470:11;3375:136;;;;;;;;3355:17;:156;;-1:-1:-1;;3355:156:38;;;;;3586:27;:32;;-1:-1:-1;;3586:32:38;;;;;;3080:743;;;3724:10;-1:-1:-1;;;;;3724:20:38;;;3698:113;;;;-1:-1:-1;;;3698:113:38;;33118:2:84;3698:113:38;;;33100:21:84;33157:2;33137:18;;;33130:30;33196:33;33176:18;;;33169:61;33247:18;;3698:113:38;32916:355:84;3698:113:38;3853:22;;:36;;;;:93;;-1:-1:-1;3910:22:38;;1747:5:83;1800:18;3910:36:38;3853:93;3835:194;;;3973:44;;-1:-1:-1;;;3973:44:38;;33478:2:84;3973:44:38;;;33460:21:84;33517:2;33497:18;;;33490:30;33556:34;33536:18;;;33529:62;-1:-1:-1;;;33607:18:84;;;33600:32;33649:19;;3973:44:38;33276:398:84;3835:194:38;1747:5:83;1800:18;4047:22:38;:35;4125:6;-1:-1:-1;;;;;4117:27:38;;4095:116;;;;-1:-1:-1;;;4095:116:38;;33881:2:84;4095:116:38;;;33863:21:84;33920:2;33900:18;;;33893:30;33959:34;33939:18;;;33932:62;-1:-1:-1;;;34010:18:84;;;34003:33;34053:19;;4095:116:38;33679:399:84;4095:116:38;-1:-1:-1;;;;;;;;4244:49:38;;:6;-1:-1:-1;;;;;4244:12:38;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4244:49:38;;4222:136;;;;-1:-1:-1;;;4222:136:38;;34539:2:84;4222:136:38;;;34521:21:84;34578:2;34558:18;;;34551:30;34617:34;34597:18;;;34590:62;-1:-1:-1;;;34668:18:84;;;34661:34;34712:19;;4222:136:38;34337:400:84;4222:136:38;1747:5:83;1800:18;1541:5;-1:-1:-1;;;;;4374:47:38;4383:6;-1:-1:-1;;;;;4374:47:38;;4411:9;:7;:9::i;:::-;4374:47;;;;;;:::i;:::-;;;;;;;;3034:1395;2951:1478;:::o;8839:212::-;-1:-1:-1;;;;;;;;;;;;;;;;;8988:6:38;-1:-1:-1;;;;;8988:26:38;;9015:27;9035:6;9015:19;:27::i;:::-;8988:55;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;8988:55:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8988:55:38;;;;;;;;;;;;:::i;9280:345::-;9375:12;9405:23;9431:18;9442:6;9431:10;:18::i;:::-;9482:16;;;;9405:44;;-1:-1:-1;9502:1:38;9482:21;9460:100;;;;-1:-1:-1;;;9460:100:38;;35734:2:84;9460:100:38;;;35716:21:84;35773:2;35753:18;;;35746:30;35812:31;35792:18;;;35785:59;35861:18;;9460:100:38;35532:353:84;9460:100:38;9578:10;:8;:10::i;:::-;-1:-1:-1;;;;;9578:21:38;;9600:8;:16;;;9578:39;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;9578:39:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9578:39:38;;;;;;;;;;;;:::i;:::-;9571:46;9280:345;-1:-1:-1;;;9280:345:38:o;2176:135:28:-;2233:13;2266:37;2276:26;2266:9;:37::i;:::-;2259:44;;2176:135;:::o;8239:170:38:-;8331:7;8363:18;8374:6;8363:10;:18::i;:::-;:38;;;;8239:170;-1:-1:-1;;8239:170:38:o;17807:165::-;17907:5;17937:18;17948:6;17937:10;:18::i;:::-;:27;;;;;;17807:165;-1:-1:-1;;17807:165:38:o;4516:305::-;4589:4;4606:14;4623:7;11384;1710:6:1;-1:-1:-1;;;;;1710:6:1;;2176:135:28;4623:7:38;4606:24;-1:-1:-1;2000:11:83;4752:50:38;;;;;4797:5;-1:-1:-1;;;;;4787:15:38;:6;-1:-1:-1;;;;;4787:15:38;;4641:172;4516:305;-1:-1:-1;;;4516:305:38:o;7424:163::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7555:22:38;;;;;;;;;:17;:22;;;;;;;;;-1:-1:-1;;;;;7555:22:38;;;;;:24;;:22;:24::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;940:114:8:-;988:13;1021:25;1037:8;1021:15;:25::i;11451:157:38:-;11570:30;:28;:30::i;10290:148::-;10348:22;10411:6;-1:-1:-1;;;;;10390:38:38;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9803:479::-;9900:42;9960:24;9987:10;:8;:10::i;:::-;-1:-1:-1;;;;;9987:36:38;;10024:27;10044:6;10024:19;:27::i;:::-;9987:65;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;9987:65:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9987:65:38;;;;;;;;;;;;:::i;:::-;9960:92;;10105:7;:14;-1:-1:-1;;;;;10077:43:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10077:43:38;;;;;;;;;;;;;;;;;10063:57;;10136:8;10131:144;10156:11;:18;10150:3;:24;10131:144;;;10218:10;:8;:10::i;:::-;-1:-1:-1;;;;;10218:31:38;;10250:7;10258:3;10250:12;;;;;;;;:::i;:::-;;;;;;;10218:45;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;10218:45:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10218:45:38;;;;;;;;;;;;:::i;:::-;10199:11;10211:3;10199:16;;;;;;;;:::i;:::-;;;;;;;;;;:64;10176:6;;10131:144;;;;9949:333;9803:479;;;:::o;13788:941::-;1531:13:1;:11;:13::i;:::-;13995:8:38::1;13939:64;;;;;;;;:::i;:::-;:10;:8;:10::i;:::-;-1:-1:-1::0;;;;;13939:43:38::1;;13983:7;13939:52;;;;;;;;;;;;;1687:25:84::0;;1675:2;1660:18;;1541:177;13939:52:38::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;13917:152;;;::::0;-1:-1:-1;;;13917:152:38;;41987:2:84;13917:152:38::1;::::0;::::1;41969:21:84::0;42026:2;42006:18;;;41999:30;42065:34;42045:18;;;42038:62;-1:-1:-1;;;42116:18:84;;;42109:36;42162:19;;13917:152:38::1;41785:402:84::0;13917:152:38::1;14080:13;14096;14101:7;;14096:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;14096:4:38::1;::::0;-1:-1:-1;;;14096:13:38:i:1;:::-;14080:29;;14120:23;14146:18;14157:6;14146:10;:18::i;:::-;14120:44;;14179:8;:14;;;14197:1;14179:19:::0;14175:497:::1;;14248:8:::0;:26:::1;14267:7:::0;;14248:8;:26:::1;:::i;:::-;;14309:25;14326:7;;14309:16;:25::i;:::-;14289:17;::::0;::::1;:45:::0;;-1:-1:-1;;14289:45:38::1;;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;;;;;;14366:15:38::1;::::0;;::::1;:22:::0;:26:::1;::::0;::::1;:::i;:::-;14349:14;::::0;::::1;:43:::0;14407:16:::1;::::0;::::1;:26:::0;;;-1:-1:-1;;;;;;;;;;;14448:28:38;;:15:::1;:28:::0;::::1;::::0;;-1:-1:-1;14448:28:38;;;;;::::1;::::0;::::1;;::::0;;::::1;::::0;;;;::::1;;;;::::0;;::::1;;;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;14175:497:::1;;;14518:7;14498:8;:16;;;:27;14494:178;;14591:16;::::0;::::1;:26:::0;;;14632:15:::1;::::0;::::1;:28:::0;;-1:-1:-1;;;;;;14632:28:38::1;::::0;;14494:178:::1;14687:34;::::0;;-1:-1:-1;;;;;;42382:33:84;;42364:52;;42447:2;42432:18;;42425:34;;;14687::38::1;::::0;42337:18:84;14687:34:38::1;;;;;;;13906:823;;13788:941:::0;;;:::o;12207:668::-;1531:13:1;:11;:13::i;:::-;12332::38::1;12348;12353:7;;12348:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12348:4:38::1;::::0;-1:-1:-1;;;12348:13:38:i:1;:::-;12332:29:::0;-1:-1:-1;;;;;;;;;;;;12372:22:38::1;12449:18;12332:29:::0;12449:10:::1;:18::i;:::-;12492:14;::::0;::::1;::::0;12423:44;;-1:-1:-1;12478:11:38::1;12525::::0;;;12517:54:::1;;;::::0;-1:-1:-1;;;12517:54:38;;42672:2:84;12517:54:38::1;::::0;::::1;42654:21:84::0;42711:2;42691:18;;;42684:30;42750:32;42730:18;;;42723:60;42800:18;;12517:54:38::1;42470:354:84::0;12517:54:38::1;12624:12:::0;;12597:18:::1;::::0;12618:5;;12624:16:::1;::::0;12639:1:::1;::::0;12624:16:::1;:::i;:::-;12618:23;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;::::1;;::::0;;;;;::::1;;;;::::0;::::1;;;::::0;-1:-1:-1;12618:23:38;12656:5;12662:10:::1;12671:1;12662:6:::0;:10:::1;:::i;:::-;12656:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;12702:5;:11;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;12702:11:38;;;;;::::1;;::::0;;::::1;;::::0;;;::::1;;;;;;::::0;;;;12760:6;12728:23:::1;12739:11:::0;12728:10:::1;:23::i;:::-;:29;;:38:::0;-1:-1:-1;;;;;;12788:27:38;::::1;;::::0;;;:19;:27:::1;::::0;;;;;12781:34:::1;12788:27:::0;;12781:34:::1;:::i;:::-;-1:-1:-1::0;12781:34:38::1;::::0;::::1;::::0;;-1:-1:-1;;12781:34:38::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;12781:34:38::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;-1:-1:-1;12842:25:38::1;::::0;::::1;::::0;::::1;::::0;12860:6;;12842:25:::1;:::i;:::-;;;;;;;;12321:554;;;;12207:668:::0;;:::o;8417:202::-;8512:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8512:23:38;8560:6;-1:-1:-1;;;;;8560:22:38;;8583:27;8603:6;8583:19;:27::i;:::-;8560:51;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;8560:51:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8560:51:38;;;;;;;;;;;;:::i;5400:387::-;-1:-1:-1;;;;;;;;;;;5526:22:38;5487:17;;5526:26;5522:258;;5582:32;-1:-1:-1;;;;;;;;;;;5595:15:38;;5611:1;5595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5582:12;:32::i;:::-;5569:45;-1:-1:-1;5645:1:38;5629:140;-1:-1:-1;;;;;;;;;;;5654:22:38;5648:28;;5629:140;;;5719:34;-1:-1:-1;;;;;;;;;;;5732:15:38;;5748:3;5732:20;;;;;;;;:::i;5719:34::-;5705:48;;;;5678:6;;5629:140;;;;5522:258;5400:387;:::o;9637:158::-;9729:7;9761:18;9772:6;9761:10;:18::i;:::-;:26;;;;9637:158;-1:-1:-1;;9637:158:38:o;20951:423::-;21118:15;1531:13:1;:11;:13::i;:::-;21161:66:38::1;::::0;-1:-1:-1;;;21161:66:38;;:19:::1;::::0;:37:::1;::::0;:66:::1;::::0;21199:8;;;;21209:17;;;;21161:66:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21151:76;;21243:123;21283:7;21306;-1:-1:-1::0;;;;;21306:16:38::1;;21338:17;;21243:123;;;;;;;;;:::i;:::-;;;;;;;;20951:423:::0;;;;;;:::o;10648:370::-;10850:47;;;;;;;;;10879:17;10850:47;;;;;;;;;-1:-1:-1;;;;;10850:47:38;;;;;-1:-1:-1;;10850:47:38;;:28;;;;;;;;;:::i;:::-;;3044:15:70;3025;;:34;;;;;;;;;2896:172;10850:47:38;10828:130;;;;-1:-1:-1;;;10828:130:38;;46982:2:84;10828:130:38;;;46964:21:84;47021:2;47001:18;;;46994:30;47060:34;47040:18;;;47033:62;-1:-1:-1;;;47111:18:84;;;47104:31;47152:19;;10828:130:38;46780:397:84;10828:130:38;10976:34;10992:6;10976:34;;;;;;;11000:9;10976:34;:::i;:::-;:15;:34::i;14737:190::-;1531:13:1;:11;:13::i;:::-;14874:45:38::1;14892:7;;14901;-1:-1:-1::0;;;;;14901:15:38::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14874:45::-;14737:190:::0;;;:::o;13265:220::-;1531:13:1;:11;:13::i;:::-;13421:27:38::1;:56:::0;;-1:-1:-1;;13421:56:38::1;;::::0;;;::::1;::::0;;;::::1;::::0;;13265:220::o;7599:265::-;7810:27;;7717:4;;7852:3;;7804:33;;7810:27;;7852:3;7804:33;:::i;:::-;7747:40;;-1:-1:-1;;;7747:40:38;;;;;47726:25:84;;;7784:2:38;47767:18:84;;;47760:47;7747:91:38;;;;;;-1:-1:-1;;;;;7747:6:38;:22;;;;47699:18:84;;7747:40:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:91;;;;:::i;:::-;7746:109;;;;:::i;18472:1851::-;18573:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18573:31:38;18622:13;18638:25;18656:6;18638:17;:25::i;:::-;18622:41;-1:-1:-1;18678:12:38;;18674:1642;;18707:43;18753:25;18771:6;18753:17;:25::i;:::-;18707:71;;18793:34;18830:51;:18;:34;;;:49;:51::i;:::-;18793:88;;18903:278;;;;;;;;18954:22;:13;:20;:22::i;:::-;18903:278;;;;19006:18;:34;;;18903:278;;;;;;19070:18;:34;;;18903:278;;;;19131:34;19158:6;19131:26;:34::i;:::-;18903:278;;;;;;;;:::i;:::-;;;18896:285;18472:1851;-1:-1:-1;;;;;18472:1851:38:o;18674:1642::-;19214:15;19232:18;19243:6;19232:10;:18::i;:::-;:25;;;-1:-1:-1;;;;;19232:25:38;;-1:-1:-1;19276:21:38;;19272:1033;;19387:13;19402:20;19434:4;-1:-1:-1;;;;;19426:24:38;19496:33;;;19552:6;19451:126;;;;;;;;:::i;:::-;;;;-1:-1:-1;;19451:126:38;;;;;;;;;;;;;;-1:-1:-1;;;;;19451:126:38;-1:-1:-1;;;;;;19451:126:38;;;;;;;;;;19426:152;;;;19451:126;19426:152;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19386:192;;;;19602:8;19597:434;;19695:1;19686:7;19682:15;19671:26;;19864:7;19853:29;;;;;;;;;;;;:::i;:::-;19756:150;;;;;;;;:::i;19597:434::-;19975:7;19964:47;;;;;;;;;;;;:::i;:::-;19957:54;18472:1851;-1:-1:-1;;;;;;18472:1851:38:o;19272:1033::-;20078:211;;;;;;;;20133:1;20078:211;;;;20168:1;20078:211;;;;20203:1;20078:211;;;;;;20235:34;20262:6;20235:26;:34::i;:::-;20078:211;;;;;;;;:::i;:::-;;;20071:218;18472:1851;-1:-1:-1;;;;18472:1851:38:o;18674:1642::-;18611:1712;18472:1851;;;:::o;6777:236::-;6894:4;6916:13;6932;6937:7;;6932:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6932:4:38;;-1:-1:-1;;;6932:13:38:i;:::-;6916:29;-1:-1:-1;;;;;;;6963:42:38;;:32;6968:18;6916:29;6968:10;:18::i;:::-;6963:32;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5935:25;;;;;;;;5795:174;6963:32;-1:-1:-1;;;;;;6963:42:38;;;6777:236;-1:-1:-1;;;;6777:236:38:o;8627:204::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8771:6:38;-1:-1:-1;;;;;8771:23:38;;8795:27;8815:6;8795:19;:27::i;:::-;8771:52;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;8771:52:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8771:52:38;;;;;;;;;;;;:::i;12883:374::-;1531:13:1;:11;:13::i;:::-;-1:-1:-1;;;;;;;;;;;13052:12:38;;13036:214:::1;13066:7:::0;;13036:214:::1;;13098:14;13115:5:::0;13121:7:::1;13127:1;13121:3:::0;:7:::1;:::i;:::-;13115:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;13098:31;;13151:11;-1:-1:-1::0;;;;;;;;;;;1410:27:42;1277:178;13151:11:38::1;-1:-1:-1::0;;;;;;13151:28:38;::::1;;::::0;;;:19:::1;::::0;;;::::1;:28;::::0;;;;;13144:35:::1;13151:28:::0;;13144:35:::1;:::i;:::-;-1:-1:-1::0;13144:35:38::1;::::0;::::1;::::0;;-1:-1:-1;;13144:35:38::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;13144:35:38::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;13181:11;;:5;;:11;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;13181:11:38;;;;;::::1;;::::0;;::::1;;::::0;;;::::1;;;;;;::::0;;;;13212:26:::1;::::0;::::1;::::0;::::1;::::0;13230:7;;13212:26:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;13075:6:38;::::1;::::0;::::1;:::i;:::-;;;;13036:214;;;;12974:283;12883:374::o:0;11794:191::-;11918:7;11950:27;887:13:79;;-1:-1:-1;;;;;887:13:79;;807:101;5977:167:38;6072:13;6110:18;6121:6;6110:10;:18::i;:::-;6103:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5977:167;;;:::o;9063:209::-;9162:23;9210:54;9236:27;9256:6;9236:19;:27::i;:::-;9210:25;:54::i;11997:202::-;1531:13:1;:11;:13::i;:::-;12155:36:38::1;12181:9;12155:25;:36::i;:::-;11997:202:::0;:::o;21926:662::-;22027:13;22042:18;22062:15;22095:44;22142:27;22161:6;22142:11;:27::i;:::-;22206:18;;22240:22;;;;22095:74;;-1:-1:-1;22206:18:38;22300:29;22277:12;:19;;;:52;;;;;;;;:::i;:::-;;:292;;22419:32;22396:12;:19;;;:55;;;;;;;;:::i;:::-;;:142;;;-1:-1:-1;22504:34:38;22481:12;:19;;;:57;;;;;;;;:::i;:::-;;22396:142;22373:196;;22566:3;22277:292;;22373:196;22560:3;22277:292;;;22350:3;22277:292;22180:400;;-1:-1:-1;22180:400:38;-1:-1:-1;22180:400:38;;;-1:-1:-1;;21926:662:38;;;;;:::o;8034:197::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8173:6:38;-1:-1:-1;;;;;8173:23:38;;8197:25;8215:6;8197:17;:25::i;20331:365::-;20447:41;20547:7;-1:-1:-1;;;;;20516:46:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20516:46:38;;;;;;;;;;;;;;;;;20506:56;;20578:8;20573:116;20592:20;;;20573:116;;;20652:25;20664:7;;20672:3;20664:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;20652:25::-;20637:7;20645:3;20637:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;20614:6;;20573:116;;;;20331:365;;;;:::o;13493:283::-;1531:13:1;:11;:13::i;:::-;13631:20:38::1;:10;:18;:20::i;:::-;13623:62;;;::::0;-1:-1:-1;;;13623:62:38;;51169:2:84;13623:62:38::1;::::0;::::1;51151:21:84::0;51208:2;51188:18;;;51181:30;51247:31;51227:18;;;51220:59;51296:18;;13623:62:38::1;50967:353:84::0;13623:62:38::1;13716:10:::0;13696:17:::1;:30;13716:10:::0;13696:17;:30:::1;:::i;:::-;;;;13742:26;13757:10;13742:26;;;;;;:::i;:::-;;;;;;;;13493:283:::0;:::o;14935:291::-;1531:13:1;:11;:13::i;:::-;15157:61:38::1;15175:7;;15184:8;-1:-1:-1::0;;;;;15184:27:38::1;;15212:4;;15184:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;15157:61;14935:291:::0;;;;;:::o;21382:286::-;21584:76;;-1:-1:-1;;;;;;21584:76:38;;21543:16;;21584:19;;:47;;:76;;21632:8;;;;21642:17;;;;21584:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21577:83;;21382:286;;;;;;;:::o;23496:477::-;23587:7;23612:25;23640:27;23660:6;23640:19;:27::i;:::-;23612:55;;23719:1;23696:20;:24;:129;;;;-1:-1:-1;23796:29:38;23741:51;;-1:-1:-1;;;23741:51:38;;;;;1687:25:84;;;23741:6:38;-1:-1:-1;;;;;23741:29:38;;;;1660:18:84;;23741:51:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:84;;;;;;;;:::i;:::-;;23696:129;23678:288;;;23859:20;23496:477;-1:-1:-1;;23496:477:38:o;23678:288::-;23919:18;23930:6;23919:10;:18::i;:::-;:35;;;;23496:477;-1:-1:-1;;;23496:477:38:o;1796:162:1:-;11384:7:38;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;;;9021:51:84;8994:18;;1901:40:1;8855:223:84;23981:415:38;24091:54;;-1:-1:-1;;;24091:54:38;;24064:5;;24091:19;;:35;;:54;;24127:8;;24137:7;;;;24091:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;24091:54:38;;;;;;;;-1:-1:-1;;24091:54:38;;;;;;;;;;;;:::i;:::-;;;24087:302;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;24354:6;24279:96;;;;;;;;:::i;24087:302::-;;;;;;;;;;;24194:9;-1:-1:-1;24187:16:38;;2088:593:42;-1:-1:-1;;;;;;2203:27:42;;2177:23;2203:27;;;:19;:27;;;;;;;;;:42;;;;;2264:15;;;;;;;;;;;2143:21;;2203:42;;2264:15;;2203:42;2264:15;;;;;;;;;-1:-1:-1;2264:15:42;2256:23;;2290:9;2310:237;2332:1;2325:4;:8;2310:237;;;2380:15;2359:5;2365:4;2359:11;;;;;;;;:::i;:::-;;;;;;:37;-1:-1:-1;;;;;2359:37:42;;;;-1:-1:-1;;;;;2359:37:42;;;;;;2415:5;2421:4;2415:11;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;2415:16:42;2411:125;2452:5;2411:125;2518:2;2498:22;;;;;2335:7;;2310:237;;;2644:19;;-1:-1:-1;2651:5:42;2088:593;-1:-1:-1;2088:593:42:o;24768:3251:38:-;24887:18;24923:21;24947:18;24958:6;24947:10;:18::i;:::-;24980:14;;;;24923:42;;-1:-1:-1;24980:19:38;24976:2875;;25029:34;25051:11;25029:21;:34::i;:::-;25016:47;;25117:10;25104:9;:23;;25078:123;;;;-1:-1:-1;;;25078:123:38;;56293:2:84;25078:123:38;;;56275:21:84;56332:2;56312:18;;;56305:30;56371:34;56351:18;;;56344:62;-1:-1:-1;;;56422:18:84;;;56415:35;56467:19;;25078:123:38;56091:401:84;25078:123:38;25233:26;;;;25216:14;25314:36;25233:26;25314:25;:36::i;:::-;25274:76;-1:-1:-1;25386:32:38;25369:13;:49;;;;;;;;:::i;:::-;;25365:2219;;25610:33;;-1:-1:-1;;;25610:33:38;;;;;1687:25:84;;;25575:32:38;;25610:6;-1:-1:-1;;;;;25610:22:38;;;;1660:18:84;;25610:33:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25610:33:38;;;;;;;;;;;;:::i;:::-;25575:68;;25662:16;25718:10;25691:8;:18;;;25681:30;;:48;;;;:::i;:::-;25662:67;;25767:1;25752:12;:16;25748:516;;;25811:12;25793:31;;25847:6;-1:-1:-1;;;;;25847:28:38;;25883:10;25895:9;25847:58;;;;;;;;;;;;;1687:25:84;;1675:2;1660:18;;1541:177;25847:58:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25989:192:38;;;56876:25:84;;;56932:2;56917:18;;56910:34;;;-1:-1:-1;;;;;;25989:192:38;;;-1:-1:-1;26041:9:38;;-1:-1:-1;25989:192:38;;-1:-1:-1;56849:18:84;25989:192:38;;;;;;;25748:516;;;26243:1;26230:14;;25748:516;25420:859;;25365:2219;;;26388:29;26371:13;:46;;;;;;;;:::i;:::-;;26367:615;;26524:23;;;;:27;26520:134;;26606:23;;;;26580:50;;-1:-1:-1;;;26580:50:38;;;;;1687:25:84;;;;26580:6:38;-1:-1:-1;;;;;26580:25:38;;;;1660:18:84;;26580:50:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26580:50:38;;;;;;;;;;;;:::i;:::-;;26520:134;26676:23;;;:35;;;26367:615;;;26915:36;;-1:-1:-1;;;26915:36:38;;;;;1687:25:84;;;26915:6:38;-1:-1:-1;;;;;26915:25:38;;;;1660:18:84;;26915:36:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26915:36:38;;;;;;;;;;;;:::i;:::-;;;26911:52;;;;;27124:14;;;;27064:124;;-1:-1:-1;;;27064:124:38;;-1:-1:-1;;;;;27064:6:38;:18;;;;27090:10;;27064:124;;27161:8;;27064:124;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27251:26;;;:38;;;27366:202;;27052:136;;-1:-1:-1;;;;;;;27366:202:38;;;27414:9;;27366:202;;;;27052:136;;27508:10;;27541:8;;27366:202;:::i;:::-;;;;;;;;25365:2219;25001:2606;;24976:2875;;;27617:13;;;;-1:-1:-1;;;;;27617:13:38;:27;27613:238;;27674:92;27708:15;27716:6;27708:7;:15::i;:::-;27743:8;27674:15;:92::i;:::-;27661:105;;27613:238;;;27799:40;;-1:-1:-1;;;27799:40:38;;42672:2:84;27799:40:38;;;42654:21:84;42711:2;42691:18;;;42684:30;42750:32;42730:18;;;42723:60;42800:18;;27799:40:38;42470:354:84;27613:238:38;27878:9;27865:10;:22;27861:151;;;27956:10;27948:52;27977:22;27989:10;27977:9;:22;:::i;:::-;27948:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24912:3107;24768:3251;;;;:::o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;3059:372:28:-;3137:13;3168:19;3200:25;3216:8;3200:15;:25::i;:::-;-1:-1:-1;;;;;3190:36:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3190:36:28;;3168:58;;3242:7;3237:155;3260:6;:13;3255:2;:18;3237:155;;;3304:8;3313:2;3304:12;;;;;;;:::i;:::-;;;;3291:6;3298:2;3291:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;3291:25:28;;;;;;;;-1:-1:-1;3360:5:28;;3237:155;;3309:428:70;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3410:319:70;;;;;;;;3455:4;:18;;;3410:319;;;;;;3512:2;3410:319;;;;;;3544:4;:25;;;-1:-1:-1;;;;;3410:319:70;;;;;3603:4;:25;;;3631:3;3603:31;;;;:::i;:::-;-1:-1:-1;;;;;3410:319:70;;;;;3699:4;:18;;;3671:46;;:4;:25;;;:46;;;;:::i;:::-;-1:-1:-1;;;;;3410:319:70;;;3403:326;3309:428;-1:-1:-1;;3309:428:70:o;24275:371:64:-;24352:13;24383:19;24415:25;24431:8;24415:15;:25::i;:::-;-1:-1:-1;;;;;24405:36:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24405:36:64;;24383:58;;24457:7;24452:155;24475:6;:13;24470:2;:18;24452:155;;;24519:8;24528:2;24519:12;;;;;;;:::i;:::-;;;;24506:6;24513:2;24506:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;24506:25:64;;;;;;;;-1:-1:-1;24575:5:64;;24452:155;;1719:245:79;735:10:3;;1816:14:79;:12;:14::i;:::-;-1:-1:-1;;;;;1816:24:79;;1812:108;;1857:51;;-1:-1:-1;;;1857:51:79;;58349:2:84;1857:51:79;;;58331:21:84;58388:2;58368:18;;;58361:30;58427:34;58407:18;;;58400:62;-1:-1:-1;;;58478:18:84;;;58471:39;58527:19;;1857:51:79;58147:405:84;1812:108:79;1930:26;1949:6;1930:18;:26::i;23149:339:38:-;23215:6;;23238:16;23249:4;23238:10;:16::i;:::-;:24;;;:38;23234:247;;23328:4;23334:16;23345:4;23334:10;:16::i;:::-;:24;;;23317:42;;;-1:-1:-1;;;;;;42382:33:84;;;23317:42:38;;;42364:52:84;42432:18;;42425:34;42337:18;;23317:42:38;;;;;;;;;;;;;23307:53;;;;;;23293:68;;23149:339;;;:::o;23234:247::-;23429:4;23435:16;23446:4;23435:10;:16::i;:::-;:31;;;23418:49;;;-1:-1:-1;;;;;;42382:33:84;;;23418:49:38;;;42364:52:84;42432:18;;42425:34;42337:18;;23418:49:38;42192:273:84;23234:247:38;23149:339;;;:::o;22195:250:64:-;22284:20;;:::i;:::-;22322:32;22357:31;22378:9;22357:20;:31::i;:::-;22322:66;;22406:31;22427:9;22406:20;:31::i;30259:172::-;30371:4;30345:6;25524;:14;;;25516:77;;;;-1:-1:-1;;;25516:77:64;;58759:2:84;25516:77:64;;;58741:21:84;58798:2;58778:18;;;58771:30;58837:34;58817:18;;;58810:62;-1:-1:-1;;;58888:18:84;;;58881:48;58946:19;;25516:77:64;58557:414:84;25516:77:64;30400:23:::1;:6;:12;;;:21;:23::i;22842:299:38:-:0;22933:23;22978:12;;22974:160;;23014:39;;-1:-1:-1;;;23014:39:38;;;;;1687:25:84;;;23014:6:38;-1:-1:-1;;;;;23014:29:38;;;;1660:18:84;;23014:39:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22974:160::-;-1:-1:-1;23093:29:38;;22842:299;-1:-1:-1;22842:299:38:o;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;9021:51:84::0;8994:18;;2672:31:1::1;8855:223:84::0;3081:220:70;3144:4;;3183:24;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3183:28:70;;:71;;;;-1:-1:-1;3253:1:70;3233:17;;;;:3;:17;:::i;:::-;:21;;;3183:71;:99;;;;-1:-1:-1;3279:3:70;3258:17;;;;:3;:17;:::i;:::-;:24;;;;3161:132;3081:220;-1:-1:-1;;3081:220:70:o;24404:356:38:-;24526:18;24562:13;24590:5;:12;24578:9;:24;;;;:::i;:::-;24562:40;;24618:8;24613:140;24638:5;:12;24632:3;:18;24613:140;;;24689:4;-1:-1:-1;;;;;24689:18:38;;24715:8;24725:5;24731:3;24725:10;;;;;;;;:::i;:::-;;;;;;;24737:3;24689:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24675:66;;;;:::i;:::-;;-1:-1:-1;24652:6:38;;24613:140;;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;3503:307:28:-;3587:12;3617:186;3634:2;3624:7;:12;3617:186;;;3659:8;3668:7;3659:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;3659:22:28;3655:68;3702:5;3655:68;3766:10;;3617:186;;31616:306:64;31699:12;31729:186;31746:2;31736:7;:12;31729:186;;;31771:8;31780:7;31771:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;31771:22:64;31767:68;31814:5;31767:68;31878:10;;31729:186;;2488:204:66;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;31124:414:64:-;31223:20;;:::i;:::-;-1:-1:-1;31470:8:64;;;;31502:28;;;;;;;;;-1:-1:-1;;;;;31470:14:64;;;31482:2;31470:14;;31502:28;;;;;;;;;;31124:414::o;17859:209:66:-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;60026:4:84;60014:17;;;1813:45:66;;;59996:36:84;60068:17;;;60048:18;;;60041:45;59969:18;;1813:45:66;59826:266:84;1765:101:66;17990:72:::1;18009:4;:11;;;18029:4;:26;;;17990:10;:72::i;:::-;-1:-1:-1::0;;;;;17983:79:66::1;::::0;17859:209;-1:-1:-1;;;;17859:209:66:o;3010:1033::-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:66;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:66;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:66;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:66::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:66;-1:-1:-1;;;;3569:27:66;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:66::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:66;;11282:4:84;11270:17;;3859:31:66::1;::::0;::::1;11252:36:84::0;11225:18;;3859:31:66::1;11110:184:84::0;3802:96:66::1;-1:-1:-1::0;3911:126:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3911:126:66;;3010:1033;-1:-1:-1;3010:1033:66:o;8833:697::-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:66;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;9318:76::-;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:66;;9400:67;9480:44;;-1:-1:-1;;;9480:44:66;;11282:4:84;11270:17;;9480:44:66;;;11252:36:84;11225:18;;9480:44:66;11110:184:84;13731:315:65;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;56876:25:84;;;56917:18;;;56910:34;;;56849:18;;1036:31:65;56702:248:84;1000:75:65;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:65;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;56876:25:84;;;56917:18;;;56910:34;;;56849:18;;1036:31:65;56702:248:84;1000:75:65;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:65;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:65;;;-1:-1:-1;;;;;14288:323:65:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;56876:25:84;;;56917:18;;;56910:34;;;56849:18;;1036:31:65;56702:248:84;1000:75:65;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:65;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;56876:25:84;;;56917:18;;;56910:34;;;56849:18;;1036:31:65;56702:248:84;1000:75:65;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:65;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;-1:-1:-1:-:0;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:331:84;-1:-1:-1;;;;;;134:19:84;;218:11;;;;249:1;241:10;;238:101;;;310:1;306:11;;;;303:1;299:19;295:28;;;287:37;283:46;;;;14:331;-1:-1:-1;;14:331:84:o;1155:131::-;-1:-1:-1;;;;;;1229:32:84;;1219:43;;1209:71;;1276:1;1273;1266:12;1291:245;1349:6;1402:2;1390:9;1381:7;1377:23;1373:32;1370:52;;;1418:1;1415;1408:12;1370:52;1457:9;1444:23;1476:30;1500:5;1476:30;:::i;1723:250::-;1808:1;1818:113;1832:6;1829:1;1826:13;1818:113;;;1908:11;;;1902:18;1889:11;;;1882:39;1854:2;1847:10;1818:113;;;-1:-1:-1;;1965:1:84;1947:16;;1940:27;1723:250::o;1978:271::-;2020:3;2058:5;2052:12;2085:6;2080:3;2073:19;2101:76;2170:6;2163:4;2158:3;2154:14;2147:4;2140:5;2136:16;2101:76;:::i;:::-;2231:2;2210:15;-1:-1:-1;;2206:29:84;2197:39;;;;2238:4;2193:50;;1978:271;-1:-1:-1;;1978:271:84:o;2254:598::-;2306:3;2337;2369:5;2363:12;2396:6;2391:3;2384:19;2422:4;2451;2446:3;2442:14;2435:21;;2509:4;2499:6;2496:1;2492:14;2485:5;2481:26;2477:37;2548:4;2541:5;2537:16;2571:1;2581:245;2595:6;2592:1;2589:13;2581:245;;;2682:2;2678:7;2670:5;2664:4;2660:16;2656:30;2651:3;2644:43;2708:38;2741:4;2732:6;2726:13;2708:38;:::i;:::-;2804:12;;;;2700:46;-1:-1:-1;2769:15:84;;;;2617:1;2610:9;2581:245;;;-1:-1:-1;2842:4:84;;2254:598;-1:-1:-1;;;;;;;2254:598:84:o;2857:1407::-;3221:2;3233:21;;;3303:13;;3206:18;;;3325:22;;;3173:4;;3401;;3378:3;3363:19;;;3428:15;;;3173:4;3471:196;3485:6;3482:1;3479:13;3471:196;;;3550:13;;-1:-1:-1;;;;;;3546:40:84;3534:53;;3607:12;;;;3642:15;;;;3507:1;3500:9;3471:196;;;3475:3;;;3712:9;3707:3;3703:19;3698:2;3687:9;3683:18;3676:47;3746:40;3782:3;3774:6;3746:40;:::i;:::-;3822:22;;;3817:2;3802:18;;3795:50;3898:13;;3920:24;;;4002:15;;;;-1:-1:-1;3962:15:84;;;;4037:1;4047:189;4063:8;4058:3;4055:17;4047:189;;;4132:15;;4118:30;;4209:17;;;;4170:14;;;;4091:1;4082:11;4047:189;;;-1:-1:-1;4253:5:84;;2857:1407;-1:-1:-1;;;;;;;;2857:1407:84:o;4269:348::-;4321:8;4331:6;4385:3;4378:4;4370:6;4366:17;4362:27;4352:55;;4403:1;4400;4393:12;4352:55;-1:-1:-1;4426:20:84;;-1:-1:-1;;;;;4458:30:84;;4455:50;;;4501:1;4498;4491:12;4455:50;4538:4;4530:6;4526:17;4514:29;;4590:3;4583:4;4574:6;4566;4562:19;4558:30;4555:39;4552:59;;;4607:1;4604;4597:12;4552:59;4269:348;;;;;:::o;4622:131::-;-1:-1:-1;;;;;4697:31:84;;4687:42;;4677:70;;4743:1;4740;4733:12;4758:375;4829:8;4839:6;4893:3;4886:4;4878:6;4874:17;4870:27;4860:55;;4911:1;4908;4901:12;4860:55;-1:-1:-1;4934:20:84;;-1:-1:-1;;;;;4966:30:84;;4963:50;;;5009:1;5006;4999:12;4963:50;5046:4;5038:6;5034:17;5022:29;;5106:3;5099:4;5089:6;5086:1;5082:14;5074:6;5070:27;5066:38;5063:47;5060:67;;;5123:1;5120;5113:12;5138:902;5266:6;5274;5282;5290;5298;5351:2;5339:9;5330:7;5326:23;5322:32;5319:52;;;5367:1;5364;5357:12;5319:52;5407:9;5394:23;-1:-1:-1;;;;;5477:2:84;5469:6;5466:14;5463:34;;;5493:1;5490;5483:12;5463:34;5532:59;5583:7;5574:6;5563:9;5559:22;5532:59;:::i;:::-;5610:8;;-1:-1:-1;5506:85:84;-1:-1:-1;5695:2:84;5680:18;;5667:32;;-1:-1:-1;5708:31:84;5667:32;5708:31;:::i;:::-;5758:5;;-1:-1:-1;5816:2:84;5801:18;;5788:32;;5832:16;;;5829:36;;;5861:1;5858;5851:12;5829:36;;5900:80;5972:7;5961:8;5950:9;5946:24;5900:80;:::i;:::-;5138:902;;;;-1:-1:-1;5138:902:84;;-1:-1:-1;5999:8:84;;5874:106;5138:902;-1:-1:-1;;;5138:902:84:o;6045:405::-;-1:-1:-1;;;;;6300:32:84;;6282:51;;6369:2;6364;6349:18;;6342:30;;;-1:-1:-1;;6389:55:84;;6425:18;;6417:6;6389:55;:::i;6455:127::-;6516:10;6511:3;6507:20;6504:1;6497:31;6547:4;6544:1;6537:15;6571:4;6568:1;6561:15;6587:227;6673:4;6665:6;6661:17;6744:6;6732:10;6729:22;-1:-1:-1;;;;;6696:10:84;6693:34;6690:62;6687:88;;;6755:18;;:::i;:::-;6791:4;6784:24;-1:-1:-1;6587:227:84:o;6819:225::-;6905:4;6897:6;6893:17;6976:6;6964:10;6961:22;-1:-1:-1;;;;;6928:10:84;6925:34;6922:62;6919:88;;;6987:18;;:::i;7049:225::-;7135:4;7127:6;7123:17;7206:6;7194:10;7191:22;-1:-1:-1;;;;;7158:10:84;7155:34;7152:62;7149:88;;;7217:18;;:::i;7279:249::-;7389:2;7370:13;;-1:-1:-1;;7366:27:84;7354:40;;-1:-1:-1;;;;;7409:34:84;;7445:22;;;7406:62;7403:88;;;7471:18;;:::i;:::-;7507:2;7500:22;-1:-1:-1;;7279:249:84:o;7533:248::-;7600:2;7594:9;7642:4;7630:17;;-1:-1:-1;;;;;7662:34:84;;7698:22;;;7659:62;7656:88;;;7724:18;;:::i;:::-;7760:2;7753:22;7533:248;:::o;7786:186::-;7834:4;-1:-1:-1;;;;;7859:6:84;7856:30;7853:56;;;7889:18;;:::i;:::-;-1:-1:-1;7955:2:84;7934:15;-1:-1:-1;;7930:29:84;7961:4;7926:40;;7786:186::o;7977:419::-;8041:5;8071:35;8099:6;8071:35;:::i;:::-;8135:2;8129:9;8147:31;8175:2;8167:6;8147:31;:::i;:::-;8196:6;8187:15;;8226:6;8218;8211:22;8266:3;8257:6;8252:3;8248:16;8245:25;8242:45;;;8283:1;8280;8273:12;8242:45;8333:6;8328:3;8321:4;8313:6;8309:17;8296:44;8388:1;8381:4;8372:6;8364;8360:19;8356:30;8349:41;;;7977:419;;;;;:::o;8401:449::-;8469:6;8522:2;8510:9;8501:7;8497:23;8493:32;8490:52;;;8538:1;8535;8528:12;8490:52;8578:9;8565:23;-1:-1:-1;;;;;8603:6:84;8600:30;8597:50;;;8643:1;8640;8633:12;8597:50;8666:22;;8719:4;8711:13;;8707:27;-1:-1:-1;8697:55:84;;8748:1;8745;8738:12;8697:55;8771:73;8836:7;8831:2;8818:16;8813:2;8809;8805:11;8771:73;:::i;9083:127::-;9144:10;9139:3;9135:20;9132:1;9125:31;9175:4;9172:1;9165:15;9199:4;9196:1;9189:15;9215:485;9404:2;9393:9;9386:21;9367:4;9432:6;9426:13;9465:3;9461:2;9458:11;9448:45;;9473:18;;:::i;:::-;9529:2;9524;9513:9;9509:18;9502:30;;9579:2;9571:6;9567:15;9561:22;9621:4;9614;9603:9;9599:20;9592:34;9643:51;9690:2;9679:9;9675:18;9661:12;9643:51;:::i;9705:218::-;9852:2;9841:9;9834:21;9815:4;9872:45;9913:2;9902:9;9898:18;9890:6;9872:45;:::i;10735:146::-;10821:2;10814:5;10811:13;10801:47;;10828:18;;:::i;:::-;10857;;10735:146::o;10886:219::-;11038:2;11023:18;;11050:49;11027:9;11081:6;11050:49;:::i;11299:247::-;11358:6;11411:2;11399:9;11390:7;11386:23;11382:32;11379:52;;;11427:1;11424;11417:12;11379:52;11466:9;11453:23;11485:31;11510:5;11485:31;:::i;12412:154::-;12507:1;12500:5;12497:12;12487:46;;12513:18;;:::i;12571:1070::-;12629:3;12660;12692:5;12686:12;12719:6;12714:3;12707:19;12745:4;12774:2;12769:3;12765:12;12758:19;;12830:2;12820:6;12817:1;12813:14;12806:5;12802:26;12798:35;12867:2;12860:5;12856:14;12888:1;12909;12919:696;12935:6;12930:3;12927:15;12919:696;;;13004:16;;;-1:-1:-1;;13000:30:84;12988:43;;13054:13;;13008:4;13160:2;13150:13;;13218:1;13232:276;13248:4;13243:3;13240:13;13232:276;;;13333:4;13325:6;13321:17;13314:5;13307:32;13366:42;13401:6;13390:8;13384:15;13366:42;:::i;:::-;13437:17;;;;13480:14;;;;13356:52;-1:-1:-1;13272:1:84;13263:11;13232:276;;;-1:-1:-1;13593:12:84;;;;13529:6;-1:-1:-1;;;13558:15:84;;;;12961:1;12952:11;12919:696;;;-1:-1:-1;13631:4:84;;12571:1070;-1:-1:-1;;;;;;;;12571:1070:84:o;13646:2006::-;13854:4;13883:2;13923;13912:9;13908:18;13953:2;13942:9;13935:21;13976:6;14011;14005:13;14042:6;14034;14027:22;14068:2;14058:12;;14101:2;14090:9;14086:18;14079:25;;14163:2;14153:6;14150:1;14146:14;14135:9;14131:30;14127:39;14201:2;14193:6;14189:15;14222:1;14232:1391;14246:6;14243:1;14240:13;14232:1391;;;14339:2;14335:7;14323:9;14315:6;14311:22;14307:36;14302:3;14295:49;14373:6;14367:13;14403:4;14450;14445:2;14439:9;14435:20;14427:6;14420:36;14503:2;14499;14495:11;14489:18;14520:70;14586:2;14578:6;14574:15;14560:12;14520:70;:::i;:::-;;14639:2;14635;14631:11;14625:18;14656:63;14715:2;14707:6;14703:15;14687:14;14656:63;:::i;:::-;;14742:4;14795:2;14791;14787:11;14781:18;14836:2;14831;14823:6;14819:15;14812:27;14866:50;14912:2;14904:6;14900:15;14884:14;14866:50;:::i;:::-;14852:64;;;;14939:4;14992:2;14988;14984:11;14978:18;15045:6;15037;15033:19;15028:2;15020:6;15016:15;15009:44;15080:41;15114:6;15098:14;15080:41;:::i;:::-;15066:55;;;;15144:4;15197:2;15193;15189:11;15183:18;15250:6;15242;15238:19;15233:2;15225:6;15221:15;15214:44;15285:57;15335:6;15319:14;15285:57;:::i;:::-;15271:71;;;;15365:4;15418:2;15414;15410:11;15404:18;15382:40;;15471:6;15463;15459:19;15454:2;15446:6;15442:15;15435:44;;15502:41;15536:6;15520:14;15502:41;:::i;:::-;15601:12;;;;15492:51;-1:-1:-1;;;15566:15:84;;;;14268:1;14261:9;14232:1391;;15657:479;15737:6;15745;15753;15806:2;15794:9;15785:7;15781:23;15777:32;15774:52;;;15822:1;15819;15812:12;15774:52;15862:9;15849:23;-1:-1:-1;;;;;15887:6:84;15884:30;15881:50;;;15927:1;15924;15917:12;15881:50;15966:59;16017:7;16008:6;15997:9;15993:22;15966:59;:::i;:::-;16044:8;;15940:85;;-1:-1:-1;16126:2:84;16111:18;;;;16098:32;;15657:479;-1:-1:-1;;;;15657:479:84:o;16141:411::-;16212:6;16220;16273:2;16261:9;16252:7;16248:23;16244:32;16241:52;;;16289:1;16286;16279:12;16241:52;16329:9;16316:23;-1:-1:-1;;;;;16354:6:84;16351:30;16348:50;;;16394:1;16391;16384:12;16348:50;16433:59;16484:7;16475:6;16464:9;16460:22;16433:59;:::i;:::-;16511:8;;16407:85;;-1:-1:-1;16141:411:84;-1:-1:-1;;;;16141:411:84:o;16747:804::-;16928:2;16917:9;16910:21;17003:1;16999;16994:3;16990:11;16986:19;16977:6;16971:13;16967:39;16962:2;16951:9;16947:18;16940:67;17071:8;17065:2;17057:6;17053:15;17047:22;17043:37;17038:2;17027:9;17023:18;17016:65;17145:20;17139:2;17131:6;17127:15;17121:22;17117:49;17112:2;17101:9;17097:18;17090:77;16891:4;17214:2;17206:6;17202:15;17196:22;17255:4;17249:3;17238:9;17234:19;17227:33;17283:52;17330:3;17319:9;17315:19;17301:12;17283:52;:::i;:::-;17269:66;;17390:3;17382:6;17378:16;17372:23;17366:3;17355:9;17351:19;17344:52;17445:3;17437:6;17433:16;17427:23;17459:63;17517:3;17506:9;17502:19;17486:14;16635:12;;16649:4;16631:23;16619:36;;16708:4;16697:16;;;16691:23;-1:-1:-1;;;;;16687:48:84;16671:14;;16664:72;16557:185;17459:63;-1:-1:-1;17539:6:84;16747:804;-1:-1:-1;;;16747:804:84:o;17556:202::-;-1:-1:-1;;;;;;17718:33:84;;;;17700:52;;17688:2;17673:18;;17556:202::o;17763:719::-;17853:6;17861;17869;17877;17930:2;17918:9;17909:7;17905:23;17901:32;17898:52;;;17946:1;17943;17936:12;17898:52;17986:9;17973:23;-1:-1:-1;;;;;18056:2:84;18048:6;18045:14;18042:34;;;18072:1;18069;18062:12;18042:34;18111:59;18162:7;18153:6;18142:9;18138:22;18111:59;:::i;:::-;18189:8;;-1:-1:-1;18085:85:84;-1:-1:-1;18277:2:84;18262:18;;18249:32;;-1:-1:-1;18293:16:84;;;18290:36;;;18322:1;18319;18312:12;18290:36;;18361:61;18414:7;18403:8;18392:9;18388:24;18361:61;:::i;:::-;17763:719;;;;-1:-1:-1;18441:8:84;-1:-1:-1;;;;17763:719:84:o;18487:156::-;18548:5;18593:2;18584:6;18579:3;18575:16;18571:25;18568:45;;;18609:1;18606;18599:12;18648:374;18744:6;18752;18805:2;18793:9;18784:7;18780:23;18776:32;18773:52;;;18821:1;18818;18811:12;18773:52;18860:9;18847:23;18879:30;18903:5;18879:30;:::i;:::-;18928:5;-1:-1:-1;18952:64:84;19008:7;19003:2;18988:18;;18952:64;:::i;:::-;18942:74;;18648:374;;;;;:::o;19027:567::-;19128:6;19136;19144;19197:2;19185:9;19176:7;19172:23;19168:32;19165:52;;;19213:1;19210;19203:12;19165:52;19253:9;19240:23;-1:-1:-1;;;;;19278:6:84;19275:30;19272:50;;;19318:1;19315;19308:12;19272:50;19357:59;19408:7;19399:6;19388:9;19384:22;19357:59;:::i;:::-;19435:8;;-1:-1:-1;19331:85:84;-1:-1:-1;;19520:2:84;19505:18;;19492:32;19533:31;19492:32;19533:31;:::i;:::-;19583:5;19573:15;;;19027:567;;;;;:::o;20054:272::-;20112:6;20165:2;20153:9;20144:7;20140:23;20136:32;20133:52;;;20181:1;20178;20171:12;20133:52;20220:9;20207:23;20270:6;20263:5;20259:18;20252:5;20249:29;20239:57;;20292:1;20289;20282:12;20331:180;20390:6;20443:2;20431:9;20422:7;20418:23;20414:32;20411:52;;;20459:1;20456;20449:12;20411:52;-1:-1:-1;20482:23:84;;20331:180;-1:-1:-1;20331:180:84:o;20516:145::-;20602:1;20595:5;20592:12;20582:46;;20608:18;;:::i;20666:323::-;20743:5;20737:12;20732:3;20725:25;20799:4;20792:5;20788:16;20782:23;20775:4;20770:3;20766:14;20759:47;20855:4;20848:5;20844:16;20838:23;20831:4;20826:3;20822:14;20815:47;20908:4;20901:5;20897:16;20891:23;20923:60;20977:4;20972:3;20968:14;20954:12;20923:60;:::i;20994:243::-;21176:3;21161:19;;21189:42;21165:9;21213:6;21189:42;:::i;21242:652::-;21425:2;21414:9;21407:21;21500:1;21496;21491:3;21487:11;21483:19;21474:6;21468:13;21464:39;21459:2;21448:9;21444:18;21437:67;-1:-1:-1;;;;;21562:2:84;21554:6;21550:15;21544:22;21540:47;21535:2;21524:9;21520:18;21513:75;21652:10;21646:2;21638:6;21634:15;21628:22;21624:39;21619:2;21608:9;21604:18;21597:67;21719:2;21711:6;21707:15;21701:22;21695:3;21684:9;21680:19;21673:51;21388:4;21771:3;21763:6;21759:16;21753:23;21814:4;21807;21796:9;21792:20;21785:34;21836:52;21883:3;21872:9;21868:19;21854:12;21836:52;:::i;22092:219::-;22244:2;22229:18;;22256:49;22233:9;22287:6;22256:49;:::i;22823:444::-;22908:6;22916;22969:2;22957:9;22948:7;22944:23;22940:32;22937:52;;;22985:1;22982;22975:12;22937:52;23025:9;23012:23;-1:-1:-1;;;;;23050:6:84;23047:30;23044:50;;;23090:1;23087;23080:12;23044:50;23129:78;23199:7;23190:6;23179:9;23175:22;23129:78;:::i;23272:699::-;23491:2;23543:21;;;23613:13;;23516:18;;;23635:22;;;23462:4;;23491:2;23714:15;;;;23688:2;23673:18;;;23462:4;23757:188;23771:6;23768:1;23765:13;23757:188;;;23820:43;23859:3;23850:6;23844:13;23820:43;:::i;:::-;23920:15;;;;23892:4;23883:14;;;;;23793:1;23786:9;23757:188;;;-1:-1:-1;23962:3:84;;23272:699;-1:-1:-1;;;;;;23272:699:84:o;23976:241::-;24064:6;24117:2;24105:9;24096:7;24092:23;24088:32;24085:52;;;24133:1;24130;24123:12;24085:52;24156:55;24203:7;24192:9;24156:55;:::i;25186:127::-;25247:10;25242:3;25238:20;25235:1;25228:31;25278:4;25275:1;25268:15;25302:4;25299:1;25292:15;25318:380;25397:1;25393:12;;;;25440;;;25461:61;;25515:4;25507:6;25503:17;25493:27;;25461:61;25568:2;25560:6;25557:14;25537:18;25534:38;25531:161;;25614:10;25609:3;25605:20;25602:1;25595:31;25649:4;25646:1;25639:15;25677:4;25674:1;25667:15;26233:543;26335:2;26330:3;26327:11;26324:446;;;26371:1;26395:5;26392:1;26385:16;26439:4;26436:1;26426:18;26509:2;26497:10;26493:19;26490:1;26486:27;26480:4;26476:38;26545:4;26533:10;26530:20;26527:47;;;-1:-1:-1;26568:4:84;26527:47;26623:2;26618:3;26614:12;26611:1;26607:20;26601:4;26597:31;26587:41;;26678:82;26696:2;26689:5;26686:13;26678:82;;;26741:17;;;26722:1;26711:13;26678:82;;;26682:3;;;26233:543;;;:::o;26952:1206::-;-1:-1:-1;;;;;27071:3:84;27068:27;27065:53;;;27098:18;;:::i;:::-;27127:94;27217:3;27177:38;27209:4;27203:11;27177:38;:::i;:::-;27171:4;27127:94;:::i;:::-;27247:1;27272:2;27267:3;27264:11;27289:1;27284:616;;;;27944:1;27961:3;27958:93;;;-1:-1:-1;28017:19:84;;;28004:33;27958:93;-1:-1:-1;;26909:1:84;26905:11;;;26901:24;26897:29;26887:40;26933:1;26929:11;;;26884:57;28064:78;;27257:895;;27284:616;26180:1;26173:14;;;26217:4;26204:18;;-1:-1:-1;;27320:17:84;;;27421:9;27443:229;27457:7;27454:1;27451:14;27443:229;;;27546:19;;;27533:33;27518:49;;27653:4;27638:20;;;;27606:1;27594:14;;;;27473:12;27443:229;;;27447:3;27700;27691:7;27688:16;27685:159;;;27824:1;27820:6;27814:3;27808;27805:1;27801:11;27797:21;27793:34;27789:39;27776:9;27771:3;27767:19;27754:33;27750:79;27742:6;27735:95;27685:159;;;27887:1;27881:3;27878:1;27874:11;27870:19;27864:4;27857:33;27257:895;;26952:1206;;;:::o;28163:127::-;28224:10;28219:3;28215:20;28212:1;28205:31;28255:4;28252:1;28245:15;28279:4;28276:1;28269:15;28295:125;28360:9;;;28381:10;;;28378:36;;;28394:18;;:::i;28425:267::-;28514:6;28509:3;28502:19;28566:6;28559:5;28552:4;28547:3;28543:14;28530:43;-1:-1:-1;28618:1:84;28593:16;;;28611:4;28589:27;;;28582:38;;;;28674:2;28653:15;;;-1:-1:-1;;28649:29:84;28640:39;;;28636:50;;28425:267::o;28697:501::-;28756:5;28763:6;28823:3;28810:17;28909:2;28905:7;28894:8;28878:14;28874:29;28870:43;28850:18;28846:68;28836:96;;28928:1;28925;28918:12;28836:96;28956:33;;29060:4;29047:18;;;-1:-1:-1;29008:21:84;;-1:-1:-1;;;;;;29077:30:84;;29074:50;;;29120:1;29117;29110:12;29074:50;29167:6;29151:14;29147:27;29140:5;29136:39;29133:59;;;29188:1;29185;29178:12;29203:986;29403:4;29451:2;29440:9;29436:18;29502:10;29497:3;29493:20;29485:6;29481:33;29470:9;29463:52;29534:2;29572;29567;29556:9;29552:18;29545:30;29595:6;29625;29617;29610:22;29663:2;29652:9;29648:18;29641:25;;29725:2;29715:6;29712:1;29708:14;29697:9;29693:30;29689:39;29675:53;;29751:6;29775:1;29785:375;29799:6;29796:1;29793:13;29785:375;;;29864:22;;;-1:-1:-1;;29860:36:84;29848:49;;29946:47;29986:6;29978;29946:47;:::i;:::-;30016:64;30073:6;30058:13;30043;30016:64;:::i;:::-;30006:74;-1:-1:-1;;;30138:12:84;;;;30103:15;;;;29821:1;29814:9;29785:375;;;-1:-1:-1;30177:6:84;;29203:986;-1:-1:-1;;;;;;;;29203:986:84:o;30194:287::-;30323:3;30361:6;30355:13;30377:66;30436:6;30431:3;30424:4;30416:6;30412:17;30377:66;:::i;:::-;30459:16;;;;;30194:287;-1:-1:-1;;30194:287:84:o;30486:489::-;30540:5;30593:3;30586:4;30578:6;30574:17;30570:27;30560:55;;30611:1;30608;30601:12;30560:55;30640:6;30634:13;30666:31;30694:2;30666:31;:::i;:::-;30726:2;30720:9;30738:31;30766:2;30758:6;30738:31;:::i;:::-;30793:2;30785:6;30778:18;30839:3;30832:4;30827:2;30819:6;30815:15;30811:26;30808:35;30805:55;;;30856:1;30853;30846:12;30805:55;30869:76;30942:2;30935:4;30927:6;30923:17;30916:4;30908:6;30904:17;30869:76;:::i;:::-;30963:6;30486:489;-1:-1:-1;;;;;30486:489:84:o;30980:337::-;31060:6;31113:2;31101:9;31092:7;31088:23;31084:32;31081:52;;;31129:1;31126;31119:12;31081:52;31162:9;31156:16;-1:-1:-1;;;;;31187:6:84;31184:30;31181:50;;;31227:1;31224;31217:12;31181:50;31250:61;31303:7;31294:6;31283:9;31279:22;31250:61;:::i;31322:516::-;31584:34;31579:3;31572:47;-1:-1:-1;;;31644:2:84;31639:3;31635:12;31628:45;31554:3;31702:6;31696:13;31718:73;31784:6;31779:2;31774:3;31770:12;31765:2;31757:6;31753:15;31718:73;:::i;:::-;31811:16;;;;31829:2;31807:25;;31322:516;-1:-1:-1;;31322:516:84:o;31843:500::-;32105:34;32100:3;32093:47;-1:-1:-1;;;32165:2:84;32160:3;32156:12;32149:29;32075:3;32207:6;32201:13;32223:73;32289:6;32284:2;32279:3;32275:12;32270:2;32262:6;32258:15;32223:73;:::i;:::-;32316:16;;;;32334:2;32312:25;;31843:500;-1:-1:-1;;31843:500:84:o;32652:259::-;32730:6;32783:2;32771:9;32762:7;32758:23;32754:32;32751:52;;;32799:1;32796;32789:12;32751:52;32831:9;32825:16;32850:31;32875:5;32850:31;:::i;34083:249::-;34152:6;34205:2;34193:9;34184:7;34180:23;34176:32;34173:52;;;34221:1;34218;34211:12;34173:52;34253:9;34247:16;34272:30;34296:5;34272:30;:::i;34742:785::-;34842:6;34895:2;34883:9;34874:7;34870:23;34866:32;34863:52;;;34911:1;34908;34901:12;34863:52;34944:9;34938:16;-1:-1:-1;;;;;35014:2:84;35006:6;35003:14;35000:34;;;35030:1;35027;35020:12;35000:34;35053:22;;;;35109:4;35091:16;;;35087:27;35084:47;;;35127:1;35124;35117:12;35084:47;35160:4;35154:11;35174:32;35199:6;35174:32;:::i;:::-;35234:2;35228:9;35266:3;35259:5;35256:14;35246:42;;35284:1;35281;35274:12;35246:42;35297:21;;35357:2;35349:11;;35343:18;35373:16;;;35370:36;;;35402:1;35399;35392:12;35370:36;35439:56;35487:7;35476:8;35472:2;35468:17;35439:56;:::i;:::-;35434:2;35422:15;;35415:81;-1:-1:-1;35426:6:84;34742:785;-1:-1:-1;;;;;34742:785:84:o;36517:183::-;36577:4;-1:-1:-1;;;;;36602:6:84;36599:30;36596:56;;;36632:18;;:::i;:::-;-1:-1:-1;36677:1:84;36673:14;36689:4;36669:25;;36517:183::o;36705:943::-;36800:6;36831:2;36874;36862:9;36853:7;36849:23;36845:32;36842:52;;;36890:1;36887;36880:12;36842:52;36923:9;36917:16;-1:-1:-1;;;;;36948:6:84;36945:30;36942:50;;;36988:1;36985;36978:12;36942:50;37011:22;;37064:4;37056:13;;37052:27;-1:-1:-1;37042:55:84;;37093:1;37090;37083:12;37042:55;37122:2;37116:9;37144:43;37184:2;37144:43;:::i;:::-;37216:2;37210:9;37228:31;37256:2;37248:6;37228:31;:::i;:::-;37294:18;;;37382:1;37378:10;;;;37370:19;;37366:28;;;37328:15;;;;-1:-1:-1;37406:19:84;;;37403:39;;;37438:1;37435;37428:12;37403:39;37462:11;;;;37482:135;37498:6;37493:3;37490:15;37482:135;;;37564:10;;37552:23;;37515:12;;;;37595;;;;37482:135;;;37636:6;36705:943;-1:-1:-1;;;;;;;36705:943:84:o;37653:114::-;37737:4;37730:5;37726:16;37719:5;37716:27;37706:55;;37757:1;37754;37747:12;37772:134;37849:13;;37871:29;37849:13;37871:29;:::i;37911:168::-;38011:13;;38053:1;38043:12;;38033:40;;38069:1;38066;38059:12;38084:160;38175:13;;38217:2;38207:13;;38197:41;;38234:1;38231;38224:12;38249:1852;38319:5;38372:3;38365:4;38357:6;38353:17;38349:27;38339:55;;38390:1;38387;38380:12;38339:55;38419:6;38413:13;38445:4;38468:43;38508:2;38468:43;:::i;:::-;38540:2;38534:9;38552:31;38580:2;38572:6;38552:31;:::i;:::-;38618:18;;;38710:1;38706:10;;;;38694:23;;38690:32;;;38652:15;;;;-1:-1:-1;38734:15:84;;;38731:35;;;38762:1;38759;38752:12;38731:35;38798:2;38790:6;38786:15;38810:1261;38826:6;38821:3;38818:15;38810:1261;;;38905:3;38899:10;-1:-1:-1;;;;;38982:2:84;38969:11;38966:19;38963:109;;;39026:1;39055:2;39051;39044:14;38963:109;39107:11;39099:6;39095:24;39085:34;;39159:3;39154:2;39150;39146:11;39142:21;39132:119;;39205:1;39234:2;39230;39223:14;39132:119;39286:2;39280:9;39302:34;39327:8;39302:34;:::i;:::-;39362:8;39407:2;39403;39399:11;39439:3;39429:8;39426:17;39423:107;;;39484:1;39513:2;39509;39502:14;39423:107;39564:2;39560;39556:11;39580:415;39598:8;39591:5;39588:19;39580:415;;;39693:5;39687:12;39737:2;39722:13;39719:21;39716:127;;;39789:1;39822:2;39818;39811:14;39716:127;39874:66;39936:3;39931:2;39915:13;39911:2;39907:22;39903:31;39874:66;:::i;:::-;39860:81;;-1:-1:-1;39967:14:84;;;;39619;;39580:415;;;-1:-1:-1;;;40008:21:84;;-1:-1:-1;;40049:12:84;;;;38843;;38810:1261;;;-1:-1:-1;40089:6:84;38249:1852;-1:-1:-1;;;;;;38249:1852:84:o;40106:1429::-;40209:6;40262:2;40250:9;40241:7;40237:23;40233:32;40230:52;;;40278:1;40275;40268:12;40230:52;40311:9;40305:16;-1:-1:-1;;;;;40381:2:84;40373:6;40370:14;40367:34;;;40397:1;40394;40387:12;40367:34;40420:22;;;;40476:4;40458:16;;;40454:27;40451:47;;;40494:1;40491;40484:12;40451:47;40520:17;;:::i;:::-;40560:31;40588:2;40560:31;:::i;:::-;40553:5;40546:46;40624:63;40683:2;40679;40675:11;40624:63;:::i;:::-;40619:2;40612:5;40608:14;40601:87;40720:54;40770:2;40766;40762:11;40720:54;:::i;:::-;40715:2;40708:5;40704:14;40697:78;40814:2;40810;40806:11;40800:18;40843:2;40833:8;40830:16;40827:36;;;40859:1;40856;40849:12;40827:36;40895:56;40943:7;40932:8;40928:2;40924:17;40895:56;:::i;:::-;40890:2;40883:5;40879:14;40872:80;;40991:3;40987:2;40983:12;40977:19;41021:2;41011:8;41008:16;41005:36;;;41037:1;41034;41027:12;41005:36;41074:56;41122:7;41111:8;41107:2;41103:17;41074:56;:::i;:::-;41068:3;41061:5;41057:15;41050:81;;41170:3;41166:2;41162:12;41156:19;41200:2;41190:8;41187:16;41184:36;;;41216:1;41213;41206:12;41184:36;41253:72;41317:7;41306:8;41302:2;41298:17;41253:72;:::i;:::-;41247:3;41240:5;41236:15;41229:97;;41365:3;41361:2;41357:12;41351:19;41395:2;41385:8;41382:16;41379:36;;;41411:1;41408;41401:12;41379:36;41448:56;41496:7;41485:8;41481:2;41477:17;41448:56;:::i;:::-;41442:3;41431:15;;41424:81;-1:-1:-1;41435:5:84;40106:1429;-1:-1:-1;;;;;40106:1429:84:o;41540:240::-;41630:6;41683:2;41671:9;41662:7;41658:23;41654:32;41651:52;;;41699:1;41696;41689:12;41651:52;41722;41764:9;41722:52;:::i;42829:128::-;42896:9;;;42917:11;;;42914:37;;;42931:18;;:::i;42962:127::-;43023:10;43018:3;43014:20;43011:1;43004:31;43054:4;43051:1;43044:15;43078:4;43075:1;43068:15;43094:165;43172:13;;43225:8;43214:20;;43204:31;;43194:59;;43249:1;43246;43239:12;43264:177;43342:13;;43395:20;43384:32;;43374:43;;43364:71;;43431:1;43428;43421:12;43446:129;-1:-1:-1;;;;;43524:5:84;43520:30;43513:5;43510:41;43500:69;;43565:1;43562;43555:12;43580:484;43646:5;43694:4;43682:9;43677:3;43673:19;43669:30;43666:50;;;43712:1;43709;43702:12;43666:50;43745:4;43739:11;43759:32;43784:6;43759:32;:::i;:::-;43809:6;43800:15;;43845:9;43839:16;43864:31;43887:7;43864:31;:::i;:::-;43904:23;;43972:2;43957:18;;43951:25;43985:32;43951:25;43985:32;:::i;:::-;44045:2;44033:15;;;;44026:32;43580:484;;-1:-1:-1;;43580:484:84:o;44069:1067::-;44165:6;44218:2;44206:9;44197:7;44193:23;44189:32;44186:52;;;44234:1;44231;44224:12;44186:52;44267:9;44261:16;-1:-1:-1;;;;;44337:2:84;44329:6;44326:14;44323:34;;;44353:1;44350;44343:12;44323:34;44376:22;;;;44432:4;44414:16;;;44410:27;44407:47;;;44450:1;44447;44440:12;44407:47;44483:2;44477:9;44495:32;44520:6;44495:32;:::i;:::-;44555:2;44549:9;44567:31;44592:5;44567:31;:::i;:::-;44607:21;;44661:41;44698:2;44690:11;;44661:41;:::i;:::-;44656:2;44648:6;44644:15;44637:66;44736:41;44773:2;44769;44765:11;44736:41;:::i;:::-;44731:2;44723:6;44719:15;44712:66;44817:2;44813;44809:11;44803:18;44846:2;44836:8;44833:16;44830:36;;;44862:1;44859;44852:12;44830:36;44899:56;44947:7;44936:8;44932:2;44928:17;44899:56;:::i;:::-;44894:2;44886:6;44882:15;44875:81;;45004:3;45000:2;44996:12;44990:19;44984:3;44976:6;44972:16;44965:45;45044:60;45096:7;45090:3;45086:2;45082:12;45044:60;:::i;:::-;45038:3;45026:16;;45019:86;45030:6;44069:1067;-1:-1:-1;;;;;44069:1067:84:o;45141:441::-;45362:2;45351:9;45344:21;45325:4;45388:62;45446:2;45435:9;45431:18;45423:6;45415;45388:62;:::i;:::-;45498:9;45490:6;45486:22;45481:2;45470:9;45466:18;45459:50;45526;45569:6;45561;45553;45526:50;:::i;45843:413::-;46085:1;46081;46076:3;46072:11;46068:19;46060:6;46056:32;46045:9;46038:51;46125:6;46120:2;46109:9;46105:18;46098:34;46168:2;46163;46152:9;46148:18;46141:30;46019:4;46188:62;46246:2;46235:9;46231:18;46223:6;46215;46188:62;:::i;46261:514::-;46347:6;46400:2;46388:9;46379:7;46375:23;46371:32;46368:52;;;46416:1;46413;46406:12;46368:52;46449:2;46443:9;46461:32;46486:6;46461:32;:::i;:::-;46528:9;46515:23;46547:29;46570:5;46547:29;:::i;:::-;46585:21;;46658:2;46643:18;;46630:32;46671;46630;46671;:::i;:::-;46731:2;46719:15;;46712:32;46723:6;46261:514;-1:-1:-1;;;46261:514:84:o;47182:184::-;47252:6;47305:2;47293:9;47284:7;47280:23;47276:32;47273:52;;;47321:1;47318;47311:12;47273:52;-1:-1:-1;47344:16:84;;47182:184;-1:-1:-1;47182:184:84:o;47371:168::-;47438:6;47464:10;;;47476;;;47460:27;;47499:11;;;47496:37;;;47513:18;;:::i;48007:168::-;48080:9;;;48111;;48128:15;;;48122:22;;48108:37;48098:71;;48149:18;;:::i;48180:127::-;48241:10;48236:3;48232:20;48229:1;48222:31;48272:4;48269:1;48262:15;48296:4;48293:1;48286:15;48312:120;48352:1;48378;48368:35;;48383:18;;:::i;:::-;-1:-1:-1;48417:9:84;;48312:120::o;48437:450::-;-1:-1:-1;;;48694:3:84;48687:33;48669:3;48749:6;48743:13;48765:75;48833:6;48828:2;48823:3;48819:12;48812:4;48804:6;48800:17;48765:75;:::i;:::-;48860:16;;;;48878:2;48856:25;;48437:450;-1:-1:-1;;48437:450:84:o;48892:159::-;48983:13;;49025:1;49015:12;;49005:40;;49041:1;49038;49031:12;49056:656;49150:6;49203:3;49191:9;49182:7;49178:23;49174:33;49171:53;;;49220:1;49217;49210:12;49171:53;49253:2;49247:9;49295:3;49287:6;49283:16;49365:6;49353:10;49350:22;-1:-1:-1;;;;;49317:10:84;49314:34;49311:62;49308:88;;;49376:18;;:::i;:::-;49416:10;49412:2;49405:22;;49457:9;49451:16;49443:6;49436:32;49522:2;49511:9;49507:18;49501:25;49496:2;49488:6;49484:15;49477:50;49581:2;49570:9;49566:18;49560:25;49555:2;49547:6;49543:15;49536:50;49619:61;49676:2;49665:9;49661:18;49619:61;:::i;:::-;49614:2;49602:15;;49595:86;49606:6;49056:656;-1:-1:-1;;;49056:656:84:o;49717:1104::-;49814:6;49867:2;49855:9;49846:7;49842:23;49838:32;49835:52;;;49883:1;49880;49873:12;49835:52;49916:9;49910:16;-1:-1:-1;;;;;49986:2:84;49978:6;49975:14;49972:34;;;50002:1;49999;49992:12;49972:34;50025:22;;;;50081:4;50063:16;;;50059:27;50056:47;;;50099:1;50096;50089:12;50056:47;50132:2;50126:9;50144:32;50169:6;50144:32;:::i;:::-;50204:2;50198:9;50216:31;50241:5;50216:31;:::i;:::-;50256:21;;50315:2;50307:11;;50301:18;50328:32;50301:18;50328:32;:::i;:::-;50388:2;50376:15;;50369:32;50439:2;50431:11;;50425:18;50487:10;50474:24;;50462:37;;50452:65;;50513:1;50510;50503:12;50452:65;50545:2;50533:15;;50526:32;50605:2;50597:11;;;50591:18;50574:15;;;50567:43;50649:3;50641:12;;50635:19;50666:16;;;50663:36;;;50695:1;50692;50685:12;50663:36;50733:56;50781:7;50770:8;50766:2;50762:17;50733:56;:::i;:::-;50727:3;50715:16;;50708:82;-1:-1:-1;50719:6:84;49717:1104;-1:-1:-1;;;;;49717:1104:84:o;50826:136::-;50865:3;50893:5;50883:39;;50902:18;;:::i;:::-;-1:-1:-1;;;50938:18:84;;50826:136::o;51325:542::-;51494:5;51481:19;51509:31;51532:7;51509:31;:::i;:::-;51572:4;51563:7;51559:18;51549:28;;51602:4;51596:11;51651:2;51644:3;51640:8;51636:2;51632:17;51629:25;51623:4;51616:39;51703:2;51696:5;51692:14;51679:28;51716:32;51740:7;51716:32;:::i;:::-;51838:20;51828:7;51825:1;51821:15;51817:42;51812:2;51788:20;51784:25;51780:2;51776:34;51773:42;51770:90;51764:4;51757:104;;;;51325:542;;:::o;51872:490::-;52062:2;52047:18;;52087:20;;52116:29;52087:20;52116:29;:::i;:::-;52183:4;52172:16;52154:35;;52238:4;52226:17;;52213:31;52253:32;52213:31;52253:32;:::i;:::-;-1:-1:-1;;;;;52327:7:84;52323:32;52316:4;52305:9;52301:20;52294:62;;51872:490;;;;:::o;52367:697::-;52445:3;52476;52500:6;52495:3;52488:19;52526:4;52555;52550:3;52546:14;52539:21;;52613:4;52603:6;52600:1;52596:14;52589:5;52585:26;52581:37;52641:5;52664:1;52674:364;52688:6;52685:1;52682:13;52674:364;;;52753:16;;;-1:-1:-1;;52749:30:84;52737:43;;52829:46;52868:6;52861:5;52829:46;:::i;:::-;52896:62;52953:4;52938:13;52923;52896:62;:::i;:::-;53016:12;;;;52888:70;-1:-1:-1;;;52981:15:84;;;;52710:1;52703:9;52674:364;;53069:1329;53324:2;53376:21;;;53349:18;;;53432:22;;;53295:4;;53507:1;53485:2;53470:18;;;;53550:14;;;53535:30;;53531:39;53593:6;53295:4;53627:742;53641:6;53638:1;53635:13;53627:742;;;53706:22;;;-1:-1:-1;;53702:36:84;53690:49;;53778:20;;53853:14;53849:27;;;-1:-1:-1;;53845:41:84;53821:66;;53811:94;;53901:1;53898;53891:12;53811:94;53931:31;;54036:14;;;;53989:19;-1:-1:-1;;;;;54066:30:84;;54063:50;;;54109:1;54106;54099:12;54063:50;54170:6;54166:2;54162:15;54146:14;54142:36;54133:7;54129:50;54126:70;;;54192:1;54189;54182:12;54126:70;54219;54282:6;54274;54265:7;54219:70;:::i;:::-;54347:12;;;;54209:80;-1:-1:-1;;;54312:15:84;;;;53663:1;53656:9;53627:742;;54403:240;54493:6;54546:2;54534:9;54525:7;54521:23;54517:32;54514:52;;;54562:1;54559;54552:12;54514:52;54585;54627:9;54585:52;:::i;54648:326::-;54843:6;54832:9;54825:25;54886:2;54881;54870:9;54866:18;54859:30;54806:4;54906:62;54964:2;54953:9;54949:18;54941:6;54933;54906:62;:::i;54979:247::-;55047:6;55100:2;55088:9;55079:7;55075:23;55071:32;55068:52;;;55116:1;55113;55106:12;55068:52;55148:9;55142:16;55167:29;55190:5;55167:29;:::i;55231:179::-;55266:3;55308:1;55290:16;55287:23;55284:120;;;55354:1;55351;55348;55333:23;-1:-1:-1;55391:1:84;55385:8;55380:3;55376:18;55231:179;:::o;55415:671::-;55454:3;55496:4;55478:16;55475:26;55472:39;;;55415:671;:::o;55472:39::-;55538:2;55532:9;-1:-1:-1;;55603:16:84;55599:25;;55596:1;55532:9;55575:50;55654:4;55648:11;55678:16;-1:-1:-1;;;;;55784:2:84;55777:4;55769:6;55765:17;55762:25;55757:2;55749:6;55746:14;55743:45;55740:58;;;55791:5;;;;;55415:671;:::o;55740:58::-;55828:6;55822:4;55818:17;55807:28;;55864:3;55858:10;55891:2;55883:6;55880:14;55877:27;;;55897:5;;;;;;55415:671;:::o;55877:27::-;55981:2;55962:16;55956:4;55952:27;55948:36;55941:4;55932:6;55927:3;55923:16;55919:27;55916:69;55913:82;;;55988:5;;;;;;55415:671;:::o;55913:82::-;56004:57;56055:4;56046:6;56038;56034:19;56030:30;56024:4;56004:57;:::i;:::-;-1:-1:-1;56077:3:84;;55415:671;-1:-1:-1;;;;;55415:671:84:o;56497:200::-;56563:9;;;56536:4;56591:9;;56619:10;;56631:12;;;56615:29;56654:12;;;56646:21;;56612:56;56609:82;;;56671:18;;:::i;56955:322::-;57183:25;;;57171:2;57156:18;;57217:54;57267:2;57252:18;;57244:6;16635:12;;16649:4;16631:23;16619:36;;16708:4;16697:16;;;16691:23;-1:-1:-1;;;;;16687:48:84;16671:14;;16664:72;16557:185;57282:394;57539:25;;;57595:2;57580:18;;;57573:34;;;16635:12;;16649:4;16631:23;57666:2;57651:18;;16619:36;16697:16;;16691:23;-1:-1:-1;;;;;16687:48:84;16671:14;;;16664:72;57526:3;57511:19;;57616:54;16557:185;57681:257;-1:-1:-1;;;;;57802:10:84;;;57814;;;57798:27;57845:20;;;;57752:18;57884:24;;;57874:58;;57912:18;;:::i;57943:199::-;57982:1;-1:-1:-1;;;;;58053:2:84;58050:1;58046:10;58075:3;58065:37;;58082:18;;:::i;:::-;58120:10;;58116:20;;;;;57943:199;-1:-1:-1;;57943:199:84:o;58976:245::-;59034:6;59087:2;59075:9;59066:7;59062:23;59058:32;59055:52;;;59103:1;59100;59093:12;59055:52;59142:9;59129:23;59161:30;59185:5;59161:30;:::i;59226:243::-;59283:6;59336:2;59324:9;59315:7;59311:23;59307:32;59304:52;;;59352:1;59349;59342:12;59304:52;59391:9;59378:23;59410:29;59433:5;59410:29;:::i;59474:347::-;-1:-1:-1;;;;;;59718:33:84;;59700:52;;59688:2;59673:18;;59761:54;59811:2;59796:18;;59788:6;16635:12;;16649:4;16631:23;16619:36;;16708:4;16697:16;;;16691:23;-1:-1:-1;;;;;16687:48:84;16671:14;;16664:72;16557:185;60097:135;60136:3;60157:17;;;60154:43;;60177:18;;:::i;:::-;-1:-1:-1;60224:1:84;60213:13;;60097:135::o",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"../WitnetUpgradableBase.sol\";\r\n\r\nimport \"../../WitnetPriceFeeds.sol\";\r\n\r\nimport \"../../data/WitnetPriceFeedsData.sol\";\r\nimport \"../../libs/WitnetPriceFeedsLib.sol\";\r\nimport \"../../patterns/Ownable2Step.sol\";\r\n\r\n/// @title WitnetPriceFeeds: Price Feeds live repository reliant on the Witnet Oracle blockchain.\r\n/// @author Guillermo Díaz <guillermo@otherplane.com>\r\n\r\ncontract WitnetPriceFeedsDefault\r\n    is\r\n        Ownable2Step,\r\n        WitnetPriceFeeds,\r\n        WitnetPriceFeedsData,\r\n        WitnetUpgradableBase\r\n{\r\n    using Witnet for bytes;\r\n    using Witnet for Witnet.Result;\r\n    using WitnetV2 for WitnetV2.Response;\r\n    using WitnetV2 for WitnetV2.RadonSLA;\r\n\r\n    function class() virtual override(WitnetFeeds, WitnetUpgradableBase) public view returns (string memory) {\r\n        return type(WitnetPriceFeedsDefault).name;\r\n    }\r\n\r\n    bytes4 immutable public override specs = type(IWitnetPriceFeeds).interfaceId;\r\n    WitnetOracle immutable public override witnet;\r\n\r\n    WitnetV2.RadonSLA private __defaultRadonSLA;\r\n    uint16 private __baseFeeOverheadPercentage;\r\n    \r\n    constructor(\r\n            WitnetOracle _wrb,\r\n            bool _upgradable,\r\n            bytes32 _versionTag\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        witnet = _wrb;\r\n    }\r\n\r\n    // solhint-disable-next-line payable-fallback\r\n    fallback() override external {\r\n        if (\r\n            msg.sig == IWitnetPriceSolver.solve.selector\r\n                && msg.sender == address(this)\r\n        ) {\r\n            address _solver = __records_(bytes4(bytes8(msg.data) << 32)).solver;\r\n            require(\r\n                _solver != address(0),\r\n                \"WitnetPriceFeeds: 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(\"WitnetPriceFeeds: 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    /// @dev Must fail when trying to upgrade to same logic contract more than once.\r\n    function initialize(bytes memory _initData)\r\n        public\r\n        override\r\n    {\r\n        address _owner = owner();\r\n        if (_owner == address(0)) {\r\n            // set owner as specified by first argument in _initData\r\n            _owner = abi.decode(_initData, (address));\r\n            _transferOwnership(_owner);\r\n            // settle default Radon SLA upon first initialization\r\n            __defaultRadonSLA = WitnetV2.RadonSLA({\r\n                committeeSize: 10,\r\n                witnessingFeeNanoWit: 2 * 10 ** 8   // 0.2 $WIT\r\n            });\r\n            // settle default base fee overhead percentage\r\n            __baseFeeOverheadPercentage = 10;\r\n        } else {\r\n            // only the owner can initialize:\r\n            require(\r\n                msg.sender == _owner,\r\n                \"WitnetPriceFeeds: not the owner\"\r\n            );\r\n        }\r\n\r\n        if (\r\n            __proxiable().codehash != bytes32(0)\r\n                && __proxiable().codehash == codehash()\r\n        ) {\r\n            revert(\"WitnetPriceFeeds: already upgraded\");\r\n        }        \r\n        __proxiable().codehash = codehash();\r\n\r\n        require(\r\n            address(witnet).code.length > 0,\r\n            \"WitnetPriceFeeds: inexistent oracle\"\r\n        );\r\n        require(\r\n            witnet.specs() == type(IWitnetOracle).interfaceId, \r\n            \"WitnetPriceFeeds: uncompliant oracle\"\r\n        );\r\n        emit Upgraded(_owner, base(), codehash(), version());\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 'IFeeds' ----------------------------------------------------------------------------------------\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 bytes4(keccak256(bytes(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 __records_(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        _ids = __storage().ids;\r\n        _captions = new string[](_ids.length);\r\n        _solvers = new bytes32[](_ids.length);\r\n        for (uint _ix = 0; _ix < _ids.length; _ix ++) {\r\n            Record storage __record = __records_(_ids[_ix]);\r\n            _captions[_ix] = __record.caption;\r\n            _solvers[_ix] = address(__record.solver) == address(0) ? __record.radHash : bytes32(bytes20(__record.solver));\r\n        }\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(__records_(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\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitnetFeeds' ----------------------------------------------------------------------------------\r\n\r\n    function defaultRadonSLA()\r\n        override\r\n        public view\r\n        returns (Witnet.RadonSLA memory)\r\n    {\r\n        return __defaultRadonSLA.toV1();\r\n    }\r\n    \r\n    function estimateUpdateBaseFee(uint256 _evmGasPrice)\r\n        virtual override\r\n        public view\r\n        returns (uint)\r\n    {\r\n        return (witnet.estimateBaseFee(_evmGasPrice, 32)\r\n            * (100 + __baseFeeOverheadPercentage)\r\n        ) / 100; \r\n    }\r\n\r\n    function lastValidQueryId(bytes4 feedId)\r\n        override public view\r\n        returns (uint256)\r\n    {\r\n        return _lastValidQueryId(feedId);\r\n    }\r\n\r\n    function lastValidResponse(bytes4 feedId)\r\n        override public view\r\n        returns (WitnetV2.Response memory)\r\n    {\r\n        return witnet.getQueryResponse(_lastValidQueryId(feedId));\r\n    }\r\n\r\n    function latestUpdateQueryId(bytes4 feedId)\r\n        override public view\r\n        returns (uint256)\r\n    {\r\n        return __records_(feedId).latestUpdateQueryId;\r\n    }\r\n\r\n    function latestUpdateRequest(bytes4 feedId)\r\n        override external view \r\n        returns (WitnetV2.Request memory)\r\n    {\r\n        return witnet.getQueryRequest(latestUpdateQueryId(feedId));\r\n    }\r\n\r\n    function latestUpdateResponse(bytes4 feedId)\r\n        override external view\r\n        returns (WitnetV2.Response memory)\r\n    {\r\n        return witnet.getQueryResponse(latestUpdateQueryId(feedId));\r\n    }\r\n\r\n    function latestUpdateResultError(bytes4 feedId)\r\n        override external view \r\n        returns (Witnet.ResultError memory)\r\n    {\r\n        return witnet.getQueryResultError(latestUpdateQueryId(feedId));\r\n    }\r\n    \r\n    function latestUpdateResponseStatus(bytes4 feedId)\r\n        override public view\r\n        returns (WitnetV2.ResponseStatus)\r\n    {\r\n        return _checkQueryResponseStatus(latestUpdateQueryId(feedId));\r\n    }\r\n\r\n    function lookupWitnetBytecode(bytes4 feedId)\r\n        override external view\r\n        returns (bytes memory)\r\n    {\r\n        Record storage __record = __records_(feedId);\r\n        require(\r\n            __record.radHash != 0,\r\n            \"WitnetPriceFeeds: no RAD hash\"\r\n        );\r\n        return registry().bytecodeOf(__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 __records_(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        bytes32[] memory _hashes = registry().lookupRadonRequestSources(lookupWitnetRadHash(feedId));\r\n        _retrievals = new Witnet.RadonRetrieval[](_hashes.length);\r\n        for (uint _ix = 0; _ix < _retrievals.length; _ix ++) {\r\n            _retrievals[_ix] = registry().lookupRadonRetrieval(_hashes[_ix]);\r\n        }\r\n    }\r\n\r\n    function registry() public view virtual override returns (WitnetRequestBytecodes) {\r\n        return WitnetOracle(address(witnet)).registry();\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, __defaultRadonSLA);\r\n    }\r\n    \r\n    function requestUpdate(bytes4 feedId, WitnetV2.RadonSLA calldata updateSLA)\r\n        public payable\r\n        virtual override\r\n        returns (uint256 _usedFunds)\r\n    {\r\n        require(\r\n            updateSLA.equalOrGreaterThan(__defaultRadonSLA),\r\n            \"WitnetPriceFeeds: unsecure update\"\r\n        );\r\n        return __requestUpdate(feedId, updateSLA);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitnetFeedsAdmin' -----------------------------------------------------------------------------\r\n\r\n    function owner()\r\n        virtual override (IWitnetFeedsAdmin, 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 (IWitnetFeedsAdmin, 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 (IWitnetFeedsAdmin, 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 (IWitnetFeedsAdmin, 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)\r\n        virtual override\r\n        external \r\n        onlyOwner\r\n    {\r\n        bytes4 feedId = hash(caption);\r\n        bytes4[] storage __ids = __storage().ids;\r\n        Record storage __record = __records_(feedId);\r\n        uint _index = __record.index;\r\n        require(_index != 0, \"WitnetPriceFeeds: unknown feed\");\r\n        {\r\n            bytes4 _lastFeedId = __ids[__ids.length - 1];\r\n            __ids[_index - 1] = _lastFeedId;\r\n            __ids.pop();\r\n            __records_(_lastFeedId).index = _index;\r\n            delete __storage().records[feedId];\r\n        }\r\n        emit WitnetFeedDeleted(feedId);\r\n    }\r\n\r\n    function deleteFeeds()\r\n        virtual override\r\n        external\r\n        onlyOwner\r\n    {\r\n        bytes4[] storage __ids = __storage().ids;\r\n        for (uint _ix = __ids.length; _ix > 0; _ix --) {\r\n            bytes4 _feedId = __ids[_ix - 1];\r\n            delete __storage().records[_feedId]; __ids.pop();\r\n            emit WitnetFeedDeleted(_feedId);\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(WitnetV2.RadonSLA calldata defaultSLA)\r\n        override public\r\n        onlyOwner\r\n    {\r\n        require(defaultSLA.isValid(), \"WitnetPriceFeeds: invalid SLA\");\r\n        __defaultRadonSLA = defaultSLA;\r\n        emit WitnetRadonSLA(defaultSLA);\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(radHash) == dataType,\r\n            \"WitnetPriceFeeds: bad result data type\"\r\n        );\r\n        bytes4 feedId = hash(caption);\r\n        Record storage __record = __records_(feedId);\r\n        if (__record.index == 0) {\r\n            // settle new feed:\r\n            __record.caption = caption;\r\n            __record.decimals = _validateCaption(caption);\r\n            __record.index = __storage().ids.length + 1;\r\n            __record.radHash = radHash;\r\n            __storage().ids.push(feedId);\r\n        } else if (__record.radHash != radHash) {\r\n            // update radHash on existing feed:\r\n            __record.radHash = radHash;\r\n            __record.solver = address(0);\r\n        }\r\n        emit WitnetFeedSettled(feedId, radHash);\r\n    }\r\n\r\n    function settleFeedRequest(string calldata caption, WitnetRequest request)\r\n        override external\r\n        onlyOwner\r\n    {\r\n        settleFeedRequest(caption, request.radHash());\r\n    }\r\n\r\n    function settleFeedRequest(\r\n            string calldata caption,\r\n            WitnetRequestTemplate template,\r\n            string[][] calldata args\r\n        )\r\n        override external\r\n        onlyOwner\r\n    {\r\n        settleFeedRequest(caption, 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            solver != address(0),\r\n            \"WitnetPriceFeeds: no solver address\"\r\n        );\r\n        bytes4 feedId = hash(caption);        \r\n        Record storage __record = __records_(feedId);\r\n        if (__record.index == 0) {\r\n            // settle new feed:\r\n            __record.caption = caption;\r\n            __record.decimals = _validateCaption(caption);\r\n            __record.index = __storage().ids.length + 1;\r\n            __record.solver = solver;\r\n            __storage().ids.push(feedId);\r\n        } else if (__record.solver != solver) {\r\n            // update radHash on existing feed:\r\n            __record.radHash = 0;\r\n            __record.solver = solver;\r\n        }\r\n        // validate solver first-level dependencies\r\n        {\r\n            // solhint-disable-next-line avoid-low-level-calls\r\n            (bool _success, bytes memory _reason) = solver.delegatecall(abi.encodeWithSelector(\r\n                IWitnetPriceSolver.validate.selector,\r\n                feedId,\r\n                deps\r\n            ));\r\n            if (!_success) {\r\n                assembly {\r\n                    _reason := add(_reason, 4)\r\n                }\r\n                revert(string(abi.encodePacked(\r\n                    \"WitnetPriceFeedUpgradable: solver validation failed: \",\r\n                    string(abi.decode(_reason,(string)))\r\n                )));\r\n            }\r\n        }\r\n        // smoke-test the solver \r\n        {   \r\n            // solhint-disable-next-line avoid-low-level-calls\r\n            (bool _success, bytes memory _reason) = address(this).staticcall(abi.encodeWithSelector(\r\n                IWitnetPriceSolver.solve.selector,\r\n                feedId\r\n            ));\r\n            if (!_success) {\r\n                assembly {\r\n                    _reason := add(_reason, 4)\r\n                }\r\n                revert(string(abi.encodePacked(\r\n                    \"WitnetPriceFeeds: smoke-test failed: \",\r\n                    string(abi.decode(_reason,(string)))\r\n                )));\r\n            }\r\n        }\r\n        emit WitnetFeedSolverSettled(feedId, solver);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitnetPriceFeeds' -----------------------------------------------------------------------------\r\n\r\n    function lookupDecimals(bytes4 feedId) \r\n        override \r\n        external view\r\n        returns (uint8)\r\n    {\r\n        return __records_(feedId).decimals;\r\n    }\r\n    \r\n    function lookupPriceSolver(bytes4 feedId)\r\n        override\r\n        external view\r\n        returns (IWitnetPriceSolver _solverAddress, string[] memory _solverDeps)\r\n    {\r\n        _solverAddress = IWitnetPriceSolver(__records_(feedId).solver);\r\n        bytes4[] memory _deps = _depsOf(feedId);\r\n        _solverDeps = new string[](_deps.length);\r\n        for (uint _ix = 0; _ix < _deps.length; _ix ++) {\r\n            _solverDeps[_ix] = lookupCaption(_deps[_ix]);\r\n        }\r\n    }\r\n\r\n    function latestPrice(bytes4 feedId)\r\n        virtual override\r\n        public view\r\n        returns (IWitnetPriceSolver.Price memory)\r\n    {\r\n        uint _queryId = _lastValidQueryId(feedId);\r\n        if (_queryId > 0) {\r\n            WitnetV2.Response memory _lastValidResponse = lastValidResponse(feedId);\r\n            Witnet.Result memory _latestResult = _lastValidResponse.resultCborBytes.toWitnetResult();\r\n            return IWitnetPriceSolver.Price({\r\n                value: _latestResult.asUint(),\r\n                timestamp: _lastValidResponse.resultTimestamp,\r\n                tallyHash: _lastValidResponse.resultTallyHash,\r\n                status: latestUpdateResponseStatus(feedId)\r\n            });\r\n        } else {\r\n            address _solver = __records_(feedId).solver;\r\n            if (_solver != address(0)) {\r\n                // solhint-disable-next-line avoid-low-level-calls\r\n                (bool _success, bytes memory _result) = address(this).staticcall(abi.encodeWithSelector(\r\n                    IWitnetPriceSolver.solve.selector,\r\n                    feedId\r\n                ));\r\n                if (!_success) {\r\n                    assembly {\r\n                        _result := add(_result, 4)\r\n                    }\r\n                    revert(string(abi.encodePacked(\r\n                        \"WitnetPriceFeeds: \",\r\n                        string(abi.decode(_result, (string)))\r\n                    )));\r\n                } else {\r\n                    return abi.decode(_result, (IWitnetPriceSolver.Price));\r\n                }\r\n            } else {\r\n                return IWitnetPriceSolver.Price({\r\n                    value: 0,\r\n                    timestamp: 0,\r\n                    tallyHash: 0,\r\n                    status: latestUpdateResponseStatus(feedId)\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    function latestPrices(bytes4[] calldata feedIds)\r\n        virtual override\r\n        external view\r\n        returns (IWitnetPriceSolver.Price[] memory _prices)\r\n    {\r\n        _prices = new IWitnetPriceSolver.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 'IWitnetPriceSolverDeployer' ---------------------------------------------------------------------\r\n\r\n    function deployPriceSolver(bytes calldata initcode, bytes calldata constructorParams)\r\n        virtual override\r\n        external\r\n        onlyOwner\r\n        returns (address _solver)\r\n    {\r\n        _solver = WitnetPriceFeedsLib.deployPriceSolver(initcode, constructorParams);\r\n        emit WitnetPriceSolverDeployed(\r\n            _solver, \r\n            _solver.codehash, \r\n            constructorParams\r\n        );\r\n    }\r\n\r\n    function determinePriceSolverAddress(bytes calldata initcode, bytes calldata constructorParams)\r\n        virtual override\r\n        public view\r\n        returns (address _address)\r\n    {\r\n        return WitnetPriceFeedsLib.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        IWitnetPriceSolver.Price memory _latestPrice = latestPrice(bytes4(feedId));\r\n        return (\r\n            int(_latestPrice.value),\r\n            _latestPrice.timestamp,\r\n            _latestPrice.status == WitnetV2.ResponseStatus.Ready \r\n                ? 200\r\n                : (\r\n                    _latestPrice.status == WitnetV2.ResponseStatus.Awaiting \r\n                        || _latestPrice.status == WitnetV2.ResponseStatus.Finalizing\r\n                ) ? 404 : 400\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Internal methods -------------------------------------------------------------------------------------------\r\n\r\n    function _checkQueryResponseStatus(uint _queryId)\r\n        internal view\r\n        returns (WitnetV2.ResponseStatus)\r\n    {\r\n        if (_queryId > 0) {\r\n            return witnet.getQueryResponseStatus(_queryId);\r\n        } else {\r\n            return WitnetV2.ResponseStatus.Ready;\r\n        }\r\n    }\r\n\r\n    function _footprintOf(bytes4 _id4) virtual internal view returns (bytes4) {\r\n        if (__records_(_id4).radHash != bytes32(0)) {\r\n            return bytes4(keccak256(abi.encode(_id4, __records_(_id4).radHash)));\r\n        } else {\r\n            return bytes4(keccak256(abi.encode(_id4, __records_(_id4).solverDepsFlag)));\r\n        }\r\n    }\r\n\r\n    function _lastValidQueryId(bytes4 feedId)\r\n        virtual internal view\r\n        returns (uint256)\r\n    {\r\n        uint _latestUpdateQueryId = latestUpdateQueryId(feedId);\r\n        if (\r\n            _latestUpdateQueryId > 0\r\n                && witnet.getQueryResponseStatus(_latestUpdateQueryId) == WitnetV2.ResponseStatus.Ready\r\n        ) {\r\n            return _latestUpdateQueryId;\r\n        } else {\r\n            return __records_(feedId).lastValidQueryId;\r\n        }\r\n    }\r\n\r\n    function _validateCaption(string calldata caption)\r\n        internal view returns (uint8)\r\n    {\r\n        try WitnetPriceFeedsLib.validateCaption(__prefix, caption) returns (uint8 _decimals) {\r\n            return _decimals;\r\n        } catch Error(string memory reason) {\r\n            revert(string(abi.encodePacked(\r\n                \"WitnetPriceFeeds: \", \r\n                reason\r\n            )));\r\n        }\r\n    }\r\n\r\n    function __requestUpdate(bytes4[] memory _deps, WitnetV2.RadonSLA memory sla)\r\n        virtual internal\r\n        returns (uint256 _usedFunds)\r\n    {\r\n        uint _partial = msg.value / _deps.length;\r\n        for (uint _ix = 0; _ix < _deps.length; _ix ++) {\r\n            _usedFunds += this.requestUpdate{value: _partial}(_deps[_ix], sla);\r\n        }\r\n    }\r\n\r\n    function __requestUpdate(bytes4 feedId, WitnetV2.RadonSLA memory querySLA)\r\n        virtual internal\r\n        returns (uint256 _usedFunds)\r\n    {\r\n        Record storage __feed = __records_(feedId);\r\n        if (__feed.radHash != 0) {\r\n            _usedFunds = estimateUpdateBaseFee(tx.gasprice);\r\n            require(\r\n                msg.value >= _usedFunds, \r\n                \"WitnetPriceFeeds: insufficient reward\"\r\n            );\r\n            uint _latestId = __feed.latestUpdateQueryId;\r\n            WitnetV2.ResponseStatus _latestStatus = _checkQueryResponseStatus(_latestId);\r\n            if (_latestStatus == WitnetV2.ResponseStatus.Awaiting) {\r\n                // latest update is still pending, so just increase the reward\r\n                // accordingly to current tx gasprice:\r\n                WitnetV2.Request memory _request = witnet.getQueryRequest(_latestId);\r\n                int _deltaReward = int(int72(_request.evmReward)) - int(_usedFunds);\r\n                if (_deltaReward > 0) {\r\n                    _usedFunds = uint(_deltaReward);\r\n                    witnet.upgradeQueryEvmReward{value: _usedFunds}(_latestId);\r\n                    // solhint-disable avoid-tx-origin\r\n                    emit WitnetFeedUpdateRequested(\r\n                        tx.origin, \r\n                        feedId, \r\n                        _latestId,\r\n                        _usedFunds\r\n                    );\r\n                } else {\r\n                    _usedFunds = 0;\r\n                }\r\n            } else {\r\n                // Check if latest update ended successfully:\r\n                if (_latestStatus == WitnetV2.ResponseStatus.Ready) {\r\n                    // If so, remove previous last valid query from the WRB:\r\n                    if (__feed.lastValidQueryId > 0) {\r\n                        witnet.fetchQueryResponse(__feed.lastValidQueryId);\r\n                    }\r\n                    __feed.lastValidQueryId = _latestId;\r\n                } else {\r\n                    // Otherwise, try to delete latest query, as it was faulty\r\n                    // and we are about to post a new update request:\r\n                    try witnet.fetchQueryResponse(_latestId) {} catch {}\r\n                }\r\n                // Post update request to the WRB:\r\n                _latestId = witnet.postRequest{value: _usedFunds}(\r\n                    __feed.radHash,\r\n                    querySLA\r\n                );\r\n                // Update latest query id:\r\n                __feed.latestUpdateQueryId = _latestId;\r\n                // solhint-disable avoid-tx-origin:\r\n                emit WitnetFeedUpdateRequested(\r\n                    tx.origin, \r\n                    feedId,\r\n                    _latestId,\r\n                    _usedFunds,\r\n                    querySLA\r\n                );\r\n            }            \r\n        } else if (__feed.solver != address(0)) {\r\n            _usedFunds = __requestUpdate(\r\n                _depsOf(feedId), \r\n                querySLA\r\n            );\r\n        } else {\r\n            revert(\"WitnetPriceFeeds: unknown feed\");\r\n        }\r\n        if (_usedFunds < msg.value) {\r\n            // transfer back unused funds:\r\n            payable(msg.sender).transfer(msg.value - _usedFunds);\r\n        }\r\n    }\r\n\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\core\\defaults\\WitnetPriceFeedsDefault.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/defaults/WitnetPriceFeedsDefault.sol",
    "exportedSymbols": {
      "Context": [
        509
      ],
      "ERC165": [
        602
      ],
      "IERC165": [
        614
      ],
      "IERC2362": [
        630
      ],
      "IFeeds": [
        12784
      ],
      "IWitnetFeeds": [
        13008
      ],
      "IWitnetFeedsAdmin": [
        13092
      ],
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetPriceFeeds": [
        13440
      ],
      "IWitnetPriceSolver": [
        13485
      ],
      "IWitnetPriceSolverDeployer": [
        13514
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Initializable": [
        253
      ],
      "Ownable": [
        401
      ],
      "Ownable2Step": [
        24094
      ],
      "Proxiable": [
        24189
      ],
      "ReentrancyGuard": [
        578
      ],
      "Slices": [
        15980
      ],
      "Upgradeable": [
        24304
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetFeeds": [
        704
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetPriceFeeds": [
        772
      ],
      "WitnetPriceFeedsData": [
        12523
      ],
      "WitnetPriceFeedsDefault": [
        9169
      ],
      "WitnetPriceFeedsLib": [
        23444
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRequest": [
        826
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetRequestTemplate": [
        1005
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 9170,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 7015,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:38"
      },
      {
        "id": 7016,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "68:33:38"
      },
      {
        "absolutePath": "project:/contracts/core/WitnetUpgradableBase.sol",
        "file": "../WitnetUpgradableBase.sol",
        "id": 7017,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 9170,
        "sourceUnit": 3888,
        "src": "105:37:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/WitnetPriceFeeds.sol",
        "file": "../../WitnetPriceFeeds.sol",
        "id": 7018,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 9170,
        "sourceUnit": 773,
        "src": "146:36:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/data/WitnetPriceFeedsData.sol",
        "file": "../../data/WitnetPriceFeedsData.sol",
        "id": 7019,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 9170,
        "sourceUnit": 12524,
        "src": "186:45:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/libs/WitnetPriceFeedsLib.sol",
        "file": "../../libs/WitnetPriceFeedsLib.sol",
        "id": 7020,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 9170,
        "sourceUnit": 23445,
        "src": "233:44:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Ownable2Step.sol",
        "file": "../../patterns/Ownable2Step.sol",
        "id": 7021,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 9170,
        "sourceUnit": 24095,
        "src": "279:41:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 7023,
              "name": "Ownable2Step",
              "nameLocations": [
                "531:12:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 24094,
              "src": "531:12:38"
            },
            "id": 7024,
            "nodeType": "InheritanceSpecifier",
            "src": "531:12:38"
          },
          {
            "baseName": {
              "id": 7025,
              "name": "WitnetPriceFeeds",
              "nameLocations": [
                "554:16:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 772,
              "src": "554:16:38"
            },
            "id": 7026,
            "nodeType": "InheritanceSpecifier",
            "src": "554:16:38"
          },
          {
            "baseName": {
              "id": 7027,
              "name": "WitnetPriceFeedsData",
              "nameLocations": [
                "581:20:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 12523,
              "src": "581:20:38"
            },
            "id": 7028,
            "nodeType": "InheritanceSpecifier",
            "src": "581:20:38"
          },
          {
            "baseName": {
              "id": 7029,
              "name": "WitnetUpgradableBase",
              "nameLocations": [
                "612:20:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 3887,
              "src": "612:20:38"
            },
            "id": 7030,
            "nodeType": "InheritanceSpecifier",
            "src": "612:20:38"
          }
        ],
        "canonicalName": "WitnetPriceFeedsDefault",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 7022,
          "nodeType": "StructuredDocumentation",
          "src": "324:155:38",
          "text": "@title WitnetPriceFeeds: Price Feeds live repository reliant on the Witnet Oracle blockchain.\n @author Guillermo Díaz <guillermo@otherplane.com>"
        },
        "fullyImplemented": true,
        "id": 9169,
        "linearizedBaseContracts": [
          9169,
          3887,
          578,
          24304,
          24189,
          253,
          12523,
          772,
          24094,
          401,
          509,
          13514,
          13440,
          704,
          13315,
          13092,
          13008,
          12784,
          630
        ],
        "name": "WitnetPriceFeedsDefault",
        "nameLocation": "490:23:38",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 7033,
            "libraryName": {
              "id": 7031,
              "name": "Witnet",
              "nameLocations": [
                "647:6:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "647:6:38"
            },
            "nodeType": "UsingForDirective",
            "src": "641:23:38",
            "typeName": {
              "id": 7032,
              "name": "bytes",
              "nodeType": "ElementaryTypeName",
              "src": "658:5:38",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes_storage_ptr",
                "typeString": "bytes"
              }
            }
          },
          {
            "global": false,
            "id": 7037,
            "libraryName": {
              "id": 7034,
              "name": "Witnet",
              "nameLocations": [
                "676:6:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "676:6:38"
            },
            "nodeType": "UsingForDirective",
            "src": "670:31:38",
            "typeName": {
              "id": 7036,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 7035,
                "name": "Witnet.Result",
                "nameLocations": [
                  "687:6:38",
                  "694:6:38"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 16042,
                "src": "687:13:38"
              },
              "referencedDeclaration": 16042,
              "src": "687:13:38",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Result_$16042_storage_ptr",
                "typeString": "struct Witnet.Result"
              }
            }
          },
          {
            "global": false,
            "id": 7041,
            "libraryName": {
              "id": 7038,
              "name": "WitnetV2",
              "nameLocations": [
                "713:8:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 23640,
              "src": "713:8:38"
            },
            "nodeType": "UsingForDirective",
            "src": "707:37:38",
            "typeName": {
              "id": 7040,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 7039,
                "name": "WitnetV2.Response",
                "nameLocations": [
                  "726:8:38",
                  "735:8:38"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 23488,
                "src": "726:17:38"
              },
              "referencedDeclaration": 23488,
              "src": "726:17:38",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                "typeString": "struct WitnetV2.Response"
              }
            }
          },
          {
            "global": false,
            "id": 7045,
            "libraryName": {
              "id": 7042,
              "name": "WitnetV2",
              "nameLocations": [
                "756:8:38"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 23640,
              "src": "756:8:38"
            },
            "nodeType": "UsingForDirective",
            "src": "750:37:38",
            "typeName": {
              "id": 7044,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 7043,
                "name": "WitnetV2.RadonSLA",
                "nameLocations": [
                  "769:8:38",
                  "778:8:38"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 23503,
                "src": "769:17:38"
              },
              "referencedDeclaration": 23503,
              "src": "769:17:38",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                "typeString": "struct WitnetV2.RadonSLA"
              }
            }
          },
          {
            "baseFunctions": [
              655,
              3765
            ],
            "body": {
              "id": 7058,
              "nodeType": "Block",
              "src": "900:60:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 7054,
                          "name": "WitnetPriceFeedsDefault",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9169,
                          "src": "923:23:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetPriceFeedsDefault_$9169_$",
                            "typeString": "type(contract WitnetPriceFeedsDefault)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitnetPriceFeedsDefault_$9169_$",
                            "typeString": "type(contract WitnetPriceFeedsDefault)"
                          }
                        ],
                        "id": 7053,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "918:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 7055,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "918:29:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitnetPriceFeedsDefault_$9169",
                        "typeString": "type(contract WitnetPriceFeedsDefault)"
                      }
                    },
                    "id": 7056,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "948:4:38",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "918:34:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 7052,
                  "id": 7057,
                  "nodeType": "Return",
                  "src": "911:41:38"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 7059,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "804:5:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7049,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 7047,
                  "name": "WitnetFeeds",
                  "nameLocations": [
                    "829:11:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 704,
                  "src": "829:11:38"
                },
                {
                  "id": 7048,
                  "name": "WitnetUpgradableBase",
                  "nameLocations": [
                    "842:20:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 3887,
                  "src": "842:20:38"
                }
              ],
              "src": "820:43:38"
            },
            "parameters": {
              "id": 7046,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "809:2:38"
            },
            "returnParameters": {
              "id": 7052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7051,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7059,
                  "src": "885:13:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7050,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "885:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "884:15:38"
            },
            "scope": 9169,
            "src": "795:165:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              660
            ],
            "constant": false,
            "functionSelector": "adb7c3f7",
            "id": 7066,
            "mutability": "immutable",
            "name": "specs",
            "nameLocation": "1001:5:38",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 7061,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "992:8:38"
            },
            "scope": 9169,
            "src": "968:76:38",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 7060,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "968:6:38",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "expression": {
                "arguments": [
                  {
                    "id": 7063,
                    "name": "IWitnetPriceFeeds",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 13440,
                    "src": "1014:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_contract$_IWitnetPriceFeeds_$13440_$",
                      "typeString": "type(contract IWitnetPriceFeeds)"
                    }
                  }
                ],
                "expression": {
                  "argumentTypes": [
                    {
                      "typeIdentifier": "t_type$_t_contract$_IWitnetPriceFeeds_$13440_$",
                      "typeString": "type(contract IWitnetPriceFeeds)"
                    }
                  ],
                  "id": 7062,
                  "name": "type",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4294967269,
                  "src": "1009:4:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                    "typeString": "function () pure"
                  }
                },
                "id": 7064,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "functionCall",
                "lValueRequested": false,
                "nameLocations": [],
                "names": [],
                "nodeType": "FunctionCall",
                "src": "1009:23:38",
                "tryCall": false,
                "typeDescriptions": {
                  "typeIdentifier": "t_magic_meta_type_t_contract$_IWitnetPriceFeeds_$13440",
                  "typeString": "type(contract IWitnetPriceFeeds)"
                }
              },
              "id": 7065,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "memberLocation": "1033:11:38",
              "memberName": "interfaceId",
              "nodeType": "MemberAccess",
              "src": "1009:35:38",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "visibility": "public"
          },
          {
            "baseFunctions": [
              666
            ],
            "constant": false,
            "functionSelector": "46d1d21a",
            "id": 7070,
            "mutability": "immutable",
            "name": "witnet",
            "nameLocation": "1090:6:38",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 7069,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1081:8:38"
            },
            "scope": 9169,
            "src": "1051:45:38",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_WitnetOracle_$749",
              "typeString": "contract WitnetOracle"
            },
            "typeName": {
              "id": 7068,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 7067,
                "name": "WitnetOracle",
                "nameLocations": [
                  "1051:12:38"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 749,
                "src": "1051:12:38"
              },
              "referencedDeclaration": 749,
              "src": "1051:12:38",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_WitnetOracle_$749",
                "typeString": "contract WitnetOracle"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7073,
            "mutability": "mutable",
            "name": "__defaultRadonSLA",
            "nameLocation": "1131:17:38",
            "nodeType": "VariableDeclaration",
            "scope": 9169,
            "src": "1105:43:38",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
              "typeString": "struct WitnetV2.RadonSLA"
            },
            "typeName": {
              "id": 7072,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 7071,
                "name": "WitnetV2.RadonSLA",
                "nameLocations": [
                  "1105:8:38",
                  "1114:8:38"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 23503,
                "src": "1105:17:38"
              },
              "referencedDeclaration": 23503,
              "src": "1105:17:38",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                "typeString": "struct WitnetV2.RadonSLA"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 7075,
            "mutability": "mutable",
            "name": "__baseFeeOverheadPercentage",
            "nameLocation": "1170:27:38",
            "nodeType": "VariableDeclaration",
            "scope": 9169,
            "src": "1155:42:38",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint16",
              "typeString": "uint16"
            },
            "typeName": {
              "id": 7074,
              "name": "uint16",
              "nodeType": "ElementaryTypeName",
              "src": "1155:6:38",
              "typeDescriptions": {
                "typeIdentifier": "t_uint16",
                "typeString": "uint16"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 7101,
              "nodeType": "Block",
              "src": "1514:32:38",
              "statements": [
                {
                  "expression": {
                    "id": 7099,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 7097,
                      "name": "witnet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7070,
                      "src": "1525:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_WitnetOracle_$749",
                        "typeString": "contract WitnetOracle"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 7098,
                      "name": "_wrb",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7078,
                      "src": "1534:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_WitnetOracle_$749",
                        "typeString": "contract WitnetOracle"
                      }
                    },
                    "src": "1525:13:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetOracle_$749",
                      "typeString": "contract WitnetOracle"
                    }
                  },
                  "id": 7100,
                  "nodeType": "ExpressionStatement",
                  "src": "1525:13:38"
                }
              ]
            },
            "id": 7102,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "arguments": [
                      {
                        "expression": {
                          "id": 7087,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "1355:3:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7088,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1359:6:38",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "1355:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 7086,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1347:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 7085,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1347:7:38",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 7089,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1347:19:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 7090,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 7084,
                  "name": "Ownable",
                  "nameLocations": [
                    "1339:7:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 401,
                  "src": "1339:7:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "1339:28:38"
              },
              {
                "arguments": [
                  {
                    "id": 7092,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7080,
                    "src": "1412:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 7093,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7082,
                    "src": "1438:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "hexValue": "696f2e7769746e65742e70726f786961626c652e66656564732e7072696365",
                    "id": 7094,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1464:33:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_688a557b3c9b52d2ba2301577897f3d892372d2d9be386db46c3ca9048c47f0b",
                      "typeString": "literal_string \"io.witnet.proxiable.feeds.price\""
                    },
                    "value": "io.witnet.proxiable.feeds.price"
                  }
                ],
                "id": 7095,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 7091,
                  "name": "WitnetUpgradableBase",
                  "nameLocations": [
                    "1377:20:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 3887,
                  "src": "1377:20:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "1377:131:38"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7083,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7078,
                  "mutability": "mutable",
                  "name": "_wrb",
                  "nameLocation": "1249:4:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7102,
                  "src": "1236:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetOracle_$749",
                    "typeString": "contract WitnetOracle"
                  },
                  "typeName": {
                    "id": 7077,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7076,
                      "name": "WitnetOracle",
                      "nameLocations": [
                        "1236:12:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 749,
                      "src": "1236:12:38"
                    },
                    "referencedDeclaration": 749,
                    "src": "1236:12:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetOracle_$749",
                      "typeString": "contract WitnetOracle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7080,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1273:11:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7102,
                  "src": "1268:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7079,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1268:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7082,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1307:11:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7102,
                  "src": "1299:19:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7081,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1299:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1221:108:38"
            },
            "returnParameters": {
              "id": 7096,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1514:0:38"
            },
            "scope": 9169,
            "src": "1210:336:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              3754
            ],
            "body": {
              "id": 7154,
              "nodeType": "Block",
              "src": "1634:886:38",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 7119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "id": 7111,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 7106,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "1663:3:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1667:3:38",
                        "memberName": "sig",
                        "nodeType": "MemberAccess",
                        "src": "1663:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 7108,
                            "name": "IWitnetPriceSolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13485,
                            "src": "1674:18:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                              "typeString": "type(contract IWitnetPriceSolver)"
                            }
                          },
                          "id": 7109,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "1693:5:38",
                          "memberName": "solve",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13471,
                          "src": "1674:24:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$13453_memory_ptr_$",
                            "typeString": "function IWitnetPriceSolver.solve(bytes4) view returns (struct IWitnetPriceSolver.Price memory)"
                          }
                        },
                        "id": 7110,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "1699:8:38",
                        "memberName": "selector",
                        "nodeType": "MemberAccess",
                        "src": "1674:33:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "src": "1663:44:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 7118,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 7112,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "1728:3:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7113,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1732:6:38",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "1728:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "id": 7116,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967268,
                            "src": "1750:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                              "typeString": "contract WitnetPriceFeedsDefault"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                              "typeString": "contract WitnetPriceFeedsDefault"
                            }
                          ],
                          "id": 7115,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1742:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 7114,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "1742:7:38",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 7117,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1742:13:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "1728:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1663:92:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7152,
                    "nodeType": "Block",
                    "src": "2443:70:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574507269636546656564733a206e6f7420696d706c656d656e746564",
                              "id": 7149,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2465:35:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d93f0ef3c645ff8e15db5c47a2f80f3c054e6e82c4c316dd87b5813e591585fb",
                                "typeString": "literal_string \"WitnetPriceFeeds: not implemented\""
                              },
                              "value": "WitnetPriceFeeds: not implemented"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_d93f0ef3c645ff8e15db5c47a2f80f3c054e6e82c4c316dd87b5813e591585fb",
                                "typeString": "literal_string \"WitnetPriceFeeds: not implemented\""
                              }
                            ],
                            "id": 7148,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "2458:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 7150,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2458:43:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7151,
                        "nodeType": "ExpressionStatement",
                        "src": "2458:43:38"
                      }
                    ]
                  },
                  "id": 7153,
                  "nodeType": "IfStatement",
                  "src": "1645:868:38",
                  "trueBody": {
                    "id": 7147,
                    "nodeType": "Block",
                    "src": "1767:670:38",
                    "statements": [
                      {
                        "assignments": [
                          7121
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7121,
                            "mutability": "mutable",
                            "name": "_solver",
                            "nameLocation": "1790:7:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 7147,
                            "src": "1782:15:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 7120,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1782:7:38",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 7135,
                        "initialValue": {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    },
                                    "id": 7131,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 7127,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967281,
                                            "src": "1825:3:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 7128,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "1829:4:38",
                                          "memberName": "data",
                                          "nodeType": "MemberAccess",
                                          "src": "1825:8:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_calldata_ptr",
                                            "typeString": "bytes calldata"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_calldata_ptr",
                                            "typeString": "bytes calldata"
                                          }
                                        ],
                                        "id": 7126,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "1818:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes8_$",
                                          "typeString": "type(bytes8)"
                                        },
                                        "typeName": {
                                          "id": 7125,
                                          "name": "bytes8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "1818:6:38",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 7129,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "1818:16:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<<",
                                    "rightExpression": {
                                      "hexValue": "3332",
                                      "id": 7130,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "1838:2:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_32_by_1",
                                        "typeString": "int_const 32"
                                      },
                                      "value": "32"
                                    },
                                    "src": "1818:22:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes8",
                                      "typeString": "bytes8"
                                    }
                                  ],
                                  "id": 7124,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "1811:6:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes4_$",
                                    "typeString": "type(bytes4)"
                                  },
                                  "typeName": {
                                    "id": 7123,
                                    "name": "bytes4",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1811:6:38",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 7132,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1811:30:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 7122,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "1800:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 7133,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1800:42:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 7134,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1843:6:38",
                          "memberName": "solver",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12427,
                          "src": "1800:49:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1782:67:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 7142,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 7137,
                                "name": "_solver",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7121,
                                "src": "1890:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "!=",
                              "rightExpression": {
                                "arguments": [
                                  {
                                    "hexValue": "30",
                                    "id": 7140,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "1909:1:38",
                                    "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": 7139,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "1901:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                  },
                                  "typeName": {
                                    "id": 7138,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1901:7:38",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 7141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1901:10:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "1890:21:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "5769746e6574507269636546656564733a20756e736574746c656420736f6c766572",
                              "id": 7143,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1930:36:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f06b5faab7b0a414052fa5e4770178a1dae2cf95b0f12b6ee69275e38c572aa3",
                                "typeString": "literal_string \"WitnetPriceFeeds: unsettled solver\""
                              },
                              "value": "WitnetPriceFeeds: unsettled solver"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f06b5faab7b0a414052fa5e4770178a1dae2cf95b0f12b6ee69275e38c572aa3",
                                "typeString": "literal_string \"WitnetPriceFeeds: unsettled solver\""
                              }
                            ],
                            "id": 7136,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "1864:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7144,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1864:117:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7145,
                        "nodeType": "ExpressionStatement",
                        "src": "1864:117:38"
                      },
                      {
                        "AST": {
                          "nativeSrc": "2005:421:38",
                          "nodeType": "YulBlock",
                          "src": "2005:421:38",
                          "statements": [
                            {
                              "nativeSrc": "2024:22:38",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2024:22:38",
                              "value": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2041:4:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2041:4:38",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "2035:5:38",
                                  "nodeType": "YulIdentifier",
                                  "src": "2035:5:38"
                                },
                                "nativeSrc": "2035:11:38",
                                "nodeType": "YulFunctionCall",
                                "src": "2035:11:38"
                              },
                              "variables": [
                                {
                                  "name": "ptr",
                                  "nativeSrc": "2028:3:38",
                                  "nodeType": "YulTypedName",
                                  "src": "2028:3:38",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2077:3:38",
                                    "nodeType": "YulIdentifier",
                                    "src": "2077:3:38"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2082:1:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2082:1:38",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "2085:12:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "2085:12:38"
                                    },
                                    "nativeSrc": "2085:14:38",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2085:14:38"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldatacopy",
                                  "nativeSrc": "2064:12:38",
                                  "nodeType": "YulIdentifier",
                                  "src": "2064:12:38"
                                },
                                "nativeSrc": "2064:36:38",
                                "nodeType": "YulFunctionCall",
                                "src": "2064:36:38"
                              },
                              "nativeSrc": "2064:36:38",
                              "nodeType": "YulExpressionStatement",
                              "src": "2064:36:38"
                            },
                            {
                              "nativeSrc": "2118:69:38",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2118:69:38",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "gas",
                                      "nativeSrc": "2145:3:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "2145:3:38"
                                    },
                                    "nativeSrc": "2145:5:38",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2145:5:38"
                                  },
                                  {
                                    "name": "_solver",
                                    "nativeSrc": "2152:7:38",
                                    "nodeType": "YulIdentifier",
                                    "src": "2152:7:38"
                                  },
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2161:3:38",
                                    "nodeType": "YulIdentifier",
                                    "src": "2161:3:38"
                                  },
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "2166:12:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "2166:12:38"
                                    },
                                    "nativeSrc": "2166:14:38",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2166:14:38"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2182:1:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2182:1:38",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2185:1:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2185:1:38",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "delegatecall",
                                  "nativeSrc": "2132:12:38",
                                  "nodeType": "YulIdentifier",
                                  "src": "2132:12:38"
                                },
                                "nativeSrc": "2132:55:38",
                                "nodeType": "YulFunctionCall",
                                "src": "2132:55:38"
                              },
                              "variables": [
                                {
                                  "name": "result",
                                  "nativeSrc": "2122:6:38",
                                  "nodeType": "YulTypedName",
                                  "src": "2122:6:38",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "nativeSrc": "2205:28:38",
                              "nodeType": "YulVariableDeclaration",
                              "src": "2205:28:38",
                              "value": {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "2217:14:38",
                                  "nodeType": "YulIdentifier",
                                  "src": "2217:14:38"
                                },
                                "nativeSrc": "2217:16:38",
                                "nodeType": "YulFunctionCall",
                                "src": "2217:16:38"
                              },
                              "variables": [
                                {
                                  "name": "size",
                                  "nativeSrc": "2209:4:38",
                                  "nodeType": "YulTypedName",
                                  "src": "2209:4:38",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "ptr",
                                    "nativeSrc": "2266:3:38",
                                    "nodeType": "YulIdentifier",
                                    "src": "2266:3:38"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2271:1:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2271:1:38",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "name": "size",
                                    "nativeSrc": "2274:4:38",
                                    "nodeType": "YulIdentifier",
                                    "src": "2274:4:38"
                                  }
                                ],
                                "functionName": {
                                  "name": "returndatacopy",
                                  "nativeSrc": "2251:14:38",
                                  "nodeType": "YulIdentifier",
                                  "src": "2251:14:38"
                                },
                                "nativeSrc": "2251:28:38",
                                "nodeType": "YulFunctionCall",
                                "src": "2251:28:38"
                              },
                              "nativeSrc": "2251:28:38",
                              "nodeType": "YulExpressionStatement",
                              "src": "2251:28:38"
                            },
                            {
                              "cases": [
                                {
                                  "body": {
                                    "nativeSrc": "2339:21:38",
                                    "nodeType": "YulBlock",
                                    "src": "2339:21:38",
                                    "statements": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "name": "ptr",
                                              "nativeSrc": "2348:3:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "2348:3:38"
                                            },
                                            {
                                              "name": "size",
                                              "nativeSrc": "2353:4:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "2353:4:38"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "revert",
                                            "nativeSrc": "2341:6:38",
                                            "nodeType": "YulIdentifier",
                                            "src": "2341:6:38"
                                          },
                                          "nativeSrc": "2341:17:38",
                                          "nodeType": "YulFunctionCall",
                                          "src": "2341:17:38"
                                        },
                                        "nativeSrc": "2341:17:38",
                                        "nodeType": "YulExpressionStatement",
                                        "src": "2341:17:38"
                                      }
                                    ]
                                  },
                                  "nativeSrc": "2332:28:38",
                                  "nodeType": "YulCase",
                                  "src": "2332:28:38",
                                  "value": {
                                    "kind": "number",
                                    "nativeSrc": "2337:1:38",
                                    "nodeType": "YulLiteral",
                                    "src": "2337:1:38",
                                    "type": "",
                                    "value": "0"
                                  }
                                },
                                {
                                  "body": {
                                    "nativeSrc": "2390:21:38",
                                    "nodeType": "YulBlock",
                                    "src": "2390:21:38",
                                    "statements": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "name": "ptr",
                                              "nativeSrc": "2399:3:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "2399:3:38"
                                            },
                                            {
                                              "name": "size",
                                              "nativeSrc": "2404:4:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "2404:4:38"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "return",
                                            "nativeSrc": "2392:6:38",
                                            "nodeType": "YulIdentifier",
                                            "src": "2392:6:38"
                                          },
                                          "nativeSrc": "2392:17:38",
                                          "nodeType": "YulFunctionCall",
                                          "src": "2392:17:38"
                                        },
                                        "nativeSrc": "2392:17:38",
                                        "nodeType": "YulExpressionStatement",
                                        "src": "2392:17:38"
                                      }
                                    ]
                                  },
                                  "nativeSrc": "2382:29:38",
                                  "nodeType": "YulCase",
                                  "src": "2382:29:38",
                                  "value": "default"
                                }
                              ],
                              "expression": {
                                "name": "result",
                                "nativeSrc": "2304:6:38",
                                "nodeType": "YulIdentifier",
                                "src": "2304:6:38"
                              },
                              "nativeSrc": "2297:114:38",
                              "nodeType": "YulSwitch",
                              "src": "2297:114:38"
                            }
                          ]
                        },
                        "evmVersion": "paris",
                        "externalReferences": [
                          {
                            "declaration": 7121,
                            "isOffset": false,
                            "isSlot": false,
                            "src": "2152:7:38",
                            "valueSize": 1
                          }
                        ],
                        "id": 7146,
                        "nodeType": "InlineAssembly",
                        "src": "1996:430:38"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 7155,
            "implemented": true,
            "kind": "fallback",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7104,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1616:8:38"
            },
            "parameters": {
              "id": 7103,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1613:2:38"
            },
            "returnParameters": {
              "id": 7105,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1634:0:38"
            },
            "scope": 9169,
            "src": "1605:915:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24297
            ],
            "body": {
              "id": 7276,
              "nodeType": "Block",
              "src": "3034:1395:38",
              "statements": [
                {
                  "assignments": [
                    7163
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7163,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "3053:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7276,
                      "src": "3045:14:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7162,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3045:7:38",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7166,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7164,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7832
                      ],
                      "referencedDeclaration": 7832,
                      "src": "3062:5:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 7165,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3062:7:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3045:24:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7172,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 7167,
                      "name": "_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7163,
                      "src": "3084:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 7170,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3102:1:38",
                          "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": 7169,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "3094:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 7168,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "3094:7:38",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 7171,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3094:10:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3084:20:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7212,
                    "nodeType": "Block",
                    "src": "3636:187:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 7208,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 7205,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "3724:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 7206,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3728:6:38",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "3724:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "id": 7207,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7163,
                                "src": "3738:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "3724:20:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "5769746e6574507269636546656564733a206e6f7420746865206f776e6572",
                              "id": 7209,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3763:33:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_25a8f932bd7bf38b2b2f405d5885a8a8d6779c383f082c44f88a7b89fe555607",
                                "typeString": "literal_string \"WitnetPriceFeeds: not the owner\""
                              },
                              "value": "WitnetPriceFeeds: not the owner"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_25a8f932bd7bf38b2b2f405d5885a8a8d6779c383f082c44f88a7b89fe555607",
                                "typeString": "literal_string \"WitnetPriceFeeds: not the owner\""
                              }
                            ],
                            "id": 7204,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "3698:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7210,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3698:113:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7211,
                        "nodeType": "ExpressionStatement",
                        "src": "3698:113:38"
                      }
                    ]
                  },
                  "id": 7213,
                  "nodeType": "IfStatement",
                  "src": "3080:743:38",
                  "trueBody": {
                    "id": 7203,
                    "nodeType": "Block",
                    "src": "3106:524:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 7181,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 7173,
                            "name": "_owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7163,
                            "src": "3191:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 7176,
                                "name": "_initData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7158,
                                "src": "3211:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 7178,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3223:7:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 7177,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "3223:7:38",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 7179,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "3222:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              ],
                              "expression": {
                                "id": 7174,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "3200:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 7175,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "3204:6:38",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "3200:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 7180,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3200:32:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "3191:41:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7182,
                        "nodeType": "ExpressionStatement",
                        "src": "3191:41:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 7184,
                              "name": "_owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7163,
                              "src": "3266:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 7183,
                            "name": "_transferOwnership",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              24069
                            ],
                            "referencedDeclaration": 24069,
                            "src": "3247:18:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                              "typeString": "function (address)"
                            }
                          },
                          "id": 7185,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3247:26:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7186,
                        "nodeType": "ExpressionStatement",
                        "src": "3247:26:38"
                      },
                      {
                        "expression": {
                          "id": 7197,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 7187,
                            "name": "__defaultRadonSLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7073,
                            "src": "3355:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "hexValue": "3130",
                                "id": 7190,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3427:2:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_10_by_1",
                                  "typeString": "int_const 10"
                                },
                                "value": "10"
                              },
                              {
                                "commonType": {
                                  "typeIdentifier": "t_rational_200000000_by_1",
                                  "typeString": "int_const 200000000"
                                },
                                "id": 7195,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "hexValue": "32",
                                  "id": 7191,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3470:1:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_rational_100000000_by_1",
                                    "typeString": "int_const 100000000"
                                  },
                                  "id": 7194,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "hexValue": "3130",
                                    "id": 7192,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3474:2:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_10_by_1",
                                      "typeString": "int_const 10"
                                    },
                                    "value": "10"
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "**",
                                  "rightExpression": {
                                    "hexValue": "38",
                                    "id": 7193,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3480:1:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_8_by_1",
                                      "typeString": "int_const 8"
                                    },
                                    "value": "8"
                                  },
                                  "src": "3474:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_100000000_by_1",
                                    "typeString": "int_const 100000000"
                                  }
                                },
                                "src": "3470:11:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_200000000_by_1",
                                  "typeString": "int_const 200000000"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_10_by_1",
                                  "typeString": "int_const 10"
                                },
                                {
                                  "typeIdentifier": "t_rational_200000000_by_1",
                                  "typeString": "int_const 200000000"
                                }
                              ],
                              "expression": {
                                "id": 7188,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "3375:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 7189,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3384:8:38",
                              "memberName": "RadonSLA",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23503,
                              "src": "3375:17:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RadonSLA_$23503_storage_ptr_$",
                                "typeString": "type(struct WitnetV2.RadonSLA storage pointer)"
                              }
                            },
                            "id": 7196,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "3412:13:38",
                              "3448:20:38"
                            ],
                            "names": [
                              "committeeSize",
                              "witnessingFeeNanoWit"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "3375:136:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                              "typeString": "struct WitnetV2.RadonSLA memory"
                            }
                          },
                          "src": "3355:156:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                            "typeString": "struct WitnetV2.RadonSLA storage ref"
                          }
                        },
                        "id": 7198,
                        "nodeType": "ExpressionStatement",
                        "src": "3355:156:38"
                      },
                      {
                        "expression": {
                          "id": 7201,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 7199,
                            "name": "__baseFeeOverheadPercentage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7075,
                            "src": "3586:27:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "hexValue": "3130",
                            "id": 7200,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3616:2:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "src": "3586:32:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "id": 7202,
                        "nodeType": "ExpressionStatement",
                        "src": "3586:32:38"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 7228,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 7221,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7214,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 24188,
                            "src": "3853:11:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$24160_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 7215,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3853:13:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$24160_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 7216,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3867:8:38",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 24159,
                        "src": "3853:22:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 7219,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3887:1:38",
                            "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": 7218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3879:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes32_$",
                            "typeString": "type(bytes32)"
                          },
                          "typeName": {
                            "id": 7217,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "3879:7:38",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 7220,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3879:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "3853:36:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 7227,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7222,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 24188,
                            "src": "3910:11:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$24160_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 7223,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3910:13:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$24160_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 7224,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3924:8:38",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 24159,
                        "src": "3910:22:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7225,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 24274,
                          "src": "3936:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 7226,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3936:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "3910:36:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "3853:93:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7234,
                  "nodeType": "IfStatement",
                  "src": "3835:194:38",
                  "trueBody": {
                    "id": 7233,
                    "nodeType": "Block",
                    "src": "3958:71:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574507269636546656564733a20616c7265616479207570677261646564",
                              "id": 7230,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3980:36:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_eb28d0d973b4e218f93b9701d8218a106926279c50f87a5e2343f9fb52faf0ba",
                                "typeString": "literal_string \"WitnetPriceFeeds: already upgraded\""
                              },
                              "value": "WitnetPriceFeeds: already upgraded"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_eb28d0d973b4e218f93b9701d8218a106926279c50f87a5e2343f9fb52faf0ba",
                                "typeString": "literal_string \"WitnetPriceFeeds: already upgraded\""
                              }
                            ],
                            "id": 7229,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "3973:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 7231,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3973:44:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7232,
                        "nodeType": "ExpressionStatement",
                        "src": "3973:44:38"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 7240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7235,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 24188,
                          "src": "4047:11:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$24160_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 7236,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4047:13:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$24160_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 7237,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "4061:8:38",
                      "memberName": "codehash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 24159,
                      "src": "4047:22:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 7238,
                        "name": "codehash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 24274,
                        "src": "4072:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view returns (bytes32)"
                        }
                      },
                      "id": 7239,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4072:10:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "4047:35:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7241,
                  "nodeType": "ExpressionStatement",
                  "src": "4047:35:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7250,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 7245,
                                  "name": "witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7070,
                                  "src": "4125:6:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                    "typeString": "contract WitnetOracle"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                    "typeString": "contract WitnetOracle"
                                  }
                                ],
                                "id": 7244,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "4117:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 7243,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "4117:7:38",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 7246,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4117:15:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 7247,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4133:4:38",
                            "memberName": "code",
                            "nodeType": "MemberAccess",
                            "src": "4117:20:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 7248,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4138:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "4117:27:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 7249,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4147:1:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4117:31:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20696e6578697374656e74206f7261636c65",
                        "id": 7251,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4163:37:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f4d0471bc6079bdf2bf8c27b594762f1474bc67c5c6b0a4bf786c1721e4c2875",
                          "typeString": "literal_string \"WitnetPriceFeeds: inexistent oracle\""
                        },
                        "value": "WitnetPriceFeeds: inexistent oracle"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f4d0471bc6079bdf2bf8c27b594762f1474bc67c5c6b0a4bf786c1721e4c2875",
                          "typeString": "literal_string \"WitnetPriceFeeds: inexistent oracle\""
                        }
                      ],
                      "id": 7242,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "4095:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7252,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4095:116:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7253,
                  "nodeType": "ExpressionStatement",
                  "src": "4095:116:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        "id": 7262,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 7255,
                              "name": "witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7070,
                              "src": "4244:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                "typeString": "contract WitnetOracle"
                              }
                            },
                            "id": 7256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4251:5:38",
                            "memberName": "specs",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 748,
                            "src": "4244:12:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_bytes4_$",
                              "typeString": "function () view external returns (bytes4)"
                            }
                          },
                          "id": 7257,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4244:14:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 7259,
                                "name": "IWitnetOracle",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13265,
                                "src": "4267:13:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitnetOracle_$13265_$",
                                  "typeString": "type(contract IWitnetOracle)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_type$_t_contract$_IWitnetOracle_$13265_$",
                                  "typeString": "type(contract IWitnetOracle)"
                                }
                              ],
                              "id": 7258,
                              "name": "type",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967269,
                              "src": "4262:4:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 7260,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4262:19:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_meta_type_t_contract$_IWitnetOracle_$13265",
                              "typeString": "type(contract IWitnetOracle)"
                            }
                          },
                          "id": 7261,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "4282:11:38",
                          "memberName": "interfaceId",
                          "nodeType": "MemberAccess",
                          "src": "4262:31:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "src": "4244:49:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e636f6d706c69616e74206f7261636c65",
                        "id": 7263,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4309:38:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6aadda5693daf7de03647a8802b17fb8d9d9e036da1f9584c6fc2dc836b66a86",
                          "typeString": "literal_string \"WitnetPriceFeeds: uncompliant oracle\""
                        },
                        "value": "WitnetPriceFeeds: uncompliant oracle"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6aadda5693daf7de03647a8802b17fb8d9d9e036da1f9584c6fc2dc836b66a86",
                          "typeString": "literal_string \"WitnetPriceFeeds: uncompliant oracle\""
                        }
                      ],
                      "id": 7254,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "4222:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7264,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4222:136:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7265,
                  "nodeType": "ExpressionStatement",
                  "src": "4222:136:38"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 7267,
                        "name": "_owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7163,
                        "src": "4383:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7268,
                          "name": "base",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 24262,
                          "src": "4391:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 7269,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4391:6:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7270,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 24274,
                          "src": "4399:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 7271,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4399:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7272,
                          "name": "version",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            3781
                          ],
                          "referencedDeclaration": 3781,
                          "src": "4411:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
                            "typeString": "function () view returns (string memory)"
                          }
                        },
                        "id": 7273,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4411:9:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 7266,
                      "name": "Upgraded",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 24232,
                      "src": "4374:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,address,bytes32,string memory)"
                      }
                    },
                    "id": 7274,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4374:47:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7275,
                  "nodeType": "EmitStatement",
                  "src": "4369:52:38"
                }
              ]
            },
            "documentation": {
              "id": 7156,
              "nodeType": "StructuredDocumentation",
              "src": "2774:171:38",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy.\n @dev Must fail when trying to upgrade to same logic contract more than once."
            },
            "functionSelector": "439fab91",
            "id": 7277,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nameLocation": "2960:10:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7160,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3020:8:38"
            },
            "parameters": {
              "id": 7159,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7158,
                  "mutability": "mutable",
                  "name": "_initData",
                  "nameLocation": "2984:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7277,
                  "src": "2971:22:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7157,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2971:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2970:24:38"
            },
            "returnParameters": {
              "id": 7161,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3034:0:38"
            },
            "scope": 9169,
            "src": "2951:1478:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              24291
            ],
            "body": {
              "id": 7299,
              "nodeType": "Block",
              "src": "4595:226:38",
              "statements": [
                {
                  "assignments": [
                    7287
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7287,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "4614:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7299,
                      "src": "4606:14:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7286,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4606:7:38",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7290,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7288,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7832
                      ],
                      "referencedDeclaration": 7832,
                      "src": "4623:5:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 7289,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4623:7:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4606:24:38"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7296,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7291,
                            "name": "isUpgradable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 24283,
                            "src": "4752:12:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 7292,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4752:14:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 7295,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 7293,
                            "name": "_owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7287,
                            "src": "4787:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "id": 7294,
                            "name": "_from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "4797:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4787:15:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4752:50:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 7297,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "4648:165:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 7285,
                  "id": 7298,
                  "nodeType": "Return",
                  "src": "4641:172:38"
                }
              ]
            },
            "documentation": {
              "id": 7278,
              "nodeType": "StructuredDocumentation",
              "src": "4437:73:38",
              "text": "Tells whether provided address could eventually upgrade the contract."
            },
            "functionSelector": "6b58960a",
            "id": 7300,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isUpgradableFrom",
            "nameLocation": "4525:16:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7282,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4571:8:38"
            },
            "parameters": {
              "id": 7281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7280,
                  "mutability": "mutable",
                  "name": "_from",
                  "nameLocation": "4550:5:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7300,
                  "src": "4542:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7279,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4542:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4541:15:38"
            },
            "returnParameters": {
              "id": 7285,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7284,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7300,
                  "src": "4589:4:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7283,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4589:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4588:6:38"
            },
            "scope": 9169,
            "src": "4516:305:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12745
            ],
            "body": {
              "id": 7350,
              "nodeType": "Block",
              "src": "5511:276:38",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7312,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7307,
                            "name": "__storage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12441,
                            "src": "5526:9:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                            }
                          },
                          "id": 7308,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5526:11:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                          }
                        },
                        "id": 7309,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5538:3:38",
                        "memberName": "ids",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12407,
                        "src": "5526:15:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                          "typeString": "bytes4[] storage ref"
                        }
                      },
                      "id": 7310,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5542:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5526:22:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 7311,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5551:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5526:26:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7349,
                  "nodeType": "IfStatement",
                  "src": "5522:258:38",
                  "trueBody": {
                    "id": 7348,
                    "nodeType": "Block",
                    "src": "5554:226:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 7321,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 7313,
                            "name": "_footprint",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7305,
                            "src": "5569:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "expression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 7315,
                                      "name": "__storage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12441,
                                      "src": "5595:9:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                        "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                      }
                                    },
                                    "id": 7316,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5595:11:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                      "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                    }
                                  },
                                  "id": 7317,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5607:3:38",
                                  "memberName": "ids",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 12407,
                                  "src": "5595:15:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                    "typeString": "bytes4[] storage ref"
                                  }
                                },
                                "id": 7319,
                                "indexExpression": {
                                  "hexValue": "30",
                                  "id": 7318,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5611:1:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5595:18:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 7314,
                              "name": "_footprintOf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8827,
                              "src": "5582:12:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes4_$",
                                "typeString": "function (bytes4) view returns (bytes4)"
                              }
                            },
                            "id": 7320,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5582:32:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "5569:45:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 7322,
                        "nodeType": "ExpressionStatement",
                        "src": "5569:45:38"
                      },
                      {
                        "body": {
                          "id": 7346,
                          "nodeType": "Block",
                          "src": "5686:83:38",
                          "statements": [
                            {
                              "expression": {
                                "id": 7344,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 7336,
                                  "name": "_footprint",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7305,
                                  "src": "5705:10:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "^=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "baseExpression": {
                                        "expression": {
                                          "arguments": [],
                                          "expression": {
                                            "argumentTypes": [],
                                            "id": 7338,
                                            "name": "__storage",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12441,
                                            "src": "5732:9:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                              "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                            }
                                          },
                                          "id": 7339,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "5732:11:38",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                            "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                          }
                                        },
                                        "id": 7340,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "5744:3:38",
                                        "memberName": "ids",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 12407,
                                        "src": "5732:15:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                          "typeString": "bytes4[] storage ref"
                                        }
                                      },
                                      "id": 7342,
                                      "indexExpression": {
                                        "id": 7341,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7324,
                                        "src": "5748:3:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "5732:20:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    ],
                                    "id": 7337,
                                    "name": "_footprintOf",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8827,
                                    "src": "5719:12:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes4_$",
                                      "typeString": "function (bytes4) view returns (bytes4)"
                                    }
                                  },
                                  "id": 7343,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "5719:34:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "src": "5705:48:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "id": 7345,
                              "nodeType": "ExpressionStatement",
                              "src": "5705:48:38"
                            }
                          ]
                        },
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7332,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 7327,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7324,
                            "src": "5648:3:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7328,
                                  "name": "__storage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12441,
                                  "src": "5654:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                  }
                                },
                                "id": 7329,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5654:11:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                }
                              },
                              "id": 7330,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5666:3:38",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12407,
                              "src": "5654:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 7331,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5670:6:38",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "5654:22:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5648:28:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7347,
                        "initializationExpression": {
                          "assignments": [
                            7324
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 7324,
                              "mutability": "mutable",
                              "name": "_ix",
                              "nameLocation": "5639:3:38",
                              "nodeType": "VariableDeclaration",
                              "scope": 7347,
                              "src": "5634:8:38",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 7323,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "5634:4:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 7326,
                          "initialValue": {
                            "hexValue": "31",
                            "id": 7325,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5645:1:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "5634:12:38"
                        },
                        "isSimpleCounterLoop": true,
                        "loopExpression": {
                          "expression": {
                            "id": 7334,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "5678:6:38",
                            "subExpression": {
                              "id": 7333,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7324,
                              "src": "5678:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7335,
                          "nodeType": "ExpressionStatement",
                          "src": "5678:6:38"
                        },
                        "nodeType": "ForStatement",
                        "src": "5629:140:38"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 7301,
              "nodeType": "StructuredDocumentation",
              "src": "5075:319:38",
              "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": 7351,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "footprint",
            "nameLocation": "5409:9:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7303,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5439:8:38"
            },
            "parameters": {
              "id": 7302,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5418:2:38"
            },
            "returnParameters": {
              "id": 7306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7305,
                  "mutability": "mutable",
                  "name": "_footprint",
                  "nameLocation": "5494:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7351,
                  "src": "5487:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7304,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "5487:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5486:19:38"
            },
            "scope": 9169,
            "src": "5400:387:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12752
            ],
            "body": {
              "id": 7369,
              "nodeType": "Block",
              "src": "5910:59:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 7364,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7353,
                                "src": "5951:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 7363,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5945:5:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": {
                                "id": 7362,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "5945:5:38",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 7365,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5945:14:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 7361,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967288,
                          "src": "5935:9:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 7366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5935:25:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7360,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "5928:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes4_$",
                        "typeString": "type(bytes4)"
                      },
                      "typeName": {
                        "id": 7359,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "5928:6:38",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 7367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5928:33:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 7358,
                  "id": 7368,
                  "nodeType": "Return",
                  "src": "5921:40:38"
                }
              ]
            },
            "functionSelector": "b411ee94",
            "id": 7370,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nameLocation": "5804:4:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7355,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5849:8:38"
            },
            "parameters": {
              "id": 7354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7353,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "5823:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7370,
                  "src": "5809:21:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7352,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5809:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5808:23:38"
            },
            "returnParameters": {
              "id": 7358,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7357,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7370,
                  "src": "5897:6:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7356,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "5897:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5896:8:38"
            },
            "scope": 9169,
            "src": "5795:174:38",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12759
            ],
            "body": {
              "id": 7383,
              "nodeType": "Block",
              "src": "6092:52:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 7379,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7372,
                          "src": "6121:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "id": 7378,
                        "name": "__records_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12457,
                        "src": "6110:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                        }
                      },
                      "id": 7380,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6110:18:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                      }
                    },
                    "id": 7381,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "6129:7:38",
                    "memberName": "caption",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12415,
                    "src": "6110:26:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 7377,
                  "id": 7382,
                  "nodeType": "Return",
                  "src": "6103:33:38"
                }
              ]
            },
            "functionSelector": "ef1dff2b",
            "id": 7384,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupCaption",
            "nameLocation": "5986:13:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7374,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6024:8:38"
            },
            "parameters": {
              "id": 7373,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7372,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "6007:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7384,
                  "src": "6000:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7371,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6000:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5999:15:38"
            },
            "returnParameters": {
              "id": 7377,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7376,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7384,
                  "src": "6072:13:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7375,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6072:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6071:15:38"
            },
            "scope": 9169,
            "src": "5977:167:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12771
            ],
            "body": {
              "id": 7476,
              "nodeType": "Block",
              "src": "6326:439:38",
              "statements": [
                {
                  "expression": {
                    "id": 7401,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 7397,
                      "name": "_ids",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7389,
                      "src": "6337:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7398,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12441,
                          "src": "6344:9:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                          }
                        },
                        "id": 7399,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6344:11:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                        }
                      },
                      "id": 7400,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6356:3:38",
                      "memberName": "ids",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12407,
                      "src": "6344:15:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                        "typeString": "bytes4[] storage ref"
                      }
                    },
                    "src": "6337:22:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "id": 7402,
                  "nodeType": "ExpressionStatement",
                  "src": "6337:22:38"
                },
                {
                  "expression": {
                    "id": 7410,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 7403,
                      "name": "_captions",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7392,
                      "src": "6370:9:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 7407,
                            "name": "_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7389,
                            "src": "6395:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 7408,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6400:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "6395:11:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7406,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "6382:12:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (string memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 7404,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "6386:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 7405,
                          "nodeType": "ArrayTypeName",
                          "src": "6386:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                            "typeString": "string[]"
                          }
                        }
                      },
                      "id": 7409,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6382:25:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "6370:37:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 7411,
                  "nodeType": "ExpressionStatement",
                  "src": "6370:37:38"
                },
                {
                  "expression": {
                    "id": 7419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 7412,
                      "name": "_solvers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7395,
                      "src": "6418:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 7416,
                            "name": "_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7389,
                            "src": "6443:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 7417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6448:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "6443:11:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7415,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "6429:13:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes32[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 7413,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "6433:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 7414,
                          "nodeType": "ArrayTypeName",
                          "src": "6433:9:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                            "typeString": "bytes32[]"
                          }
                        }
                      },
                      "id": 7418,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6429:26:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "src": "6418:37:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                      "typeString": "bytes32[] memory"
                    }
                  },
                  "id": 7420,
                  "nodeType": "ExpressionStatement",
                  "src": "6418:37:38"
                },
                {
                  "body": {
                    "id": 7474,
                    "nodeType": "Block",
                    "src": "6512:246:38",
                    "statements": [
                      {
                        "assignments": [
                          7434
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7434,
                            "mutability": "mutable",
                            "name": "__record",
                            "nameLocation": "6542:8:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 7474,
                            "src": "6527:23:38",
                            "stateVariable": false,
                            "storageLocation": "storage",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record"
                            },
                            "typeName": {
                              "id": 7433,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 7432,
                                "name": "Record",
                                "nameLocations": [
                                  "6527:6:38"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 12432,
                                "src": "6527:6:38"
                              },
                              "referencedDeclaration": 12432,
                              "src": "6527:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 7440,
                        "initialValue": {
                          "arguments": [
                            {
                              "baseExpression": {
                                "id": 7436,
                                "name": "_ids",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7389,
                                "src": "6564:4:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                  "typeString": "bytes4[] memory"
                                }
                              },
                              "id": 7438,
                              "indexExpression": {
                                "id": 7437,
                                "name": "_ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7422,
                                "src": "6569:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "6564:9:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "id": 7435,
                            "name": "__records_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12457,
                            "src": "6553:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                              "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                            }
                          },
                          "id": 7439,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6553:21:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6527:47:38"
                      },
                      {
                        "expression": {
                          "id": 7446,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 7441,
                              "name": "_captions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7392,
                              "src": "6589:9:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 7443,
                            "indexExpression": {
                              "id": 7442,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7422,
                              "src": "6599:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "6589:14:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "id": 7444,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7434,
                              "src": "6606:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 7445,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6615:7:38",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12415,
                            "src": "6606:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "src": "6589:33:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 7447,
                        "nodeType": "ExpressionStatement",
                        "src": "6589:33:38"
                      },
                      {
                        "expression": {
                          "id": 7472,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 7448,
                              "name": "_solvers",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7395,
                              "src": "6637:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 7450,
                            "indexExpression": {
                              "id": 7449,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7422,
                              "src": "6646:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "6637:13:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 7460,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 7453,
                                      "name": "__record",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7434,
                                      "src": "6661:8:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                      }
                                    },
                                    "id": 7454,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "6670:6:38",
                                    "memberName": "solver",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 12427,
                                    "src": "6661:15:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 7452,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "6653:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                  },
                                  "typeName": {
                                    "id": 7451,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6653:7:38",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 7455,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6653:24:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "arguments": [
                                  {
                                    "hexValue": "30",
                                    "id": 7458,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "6689:1:38",
                                    "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": 7457,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "6681:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                  },
                                  "typeName": {
                                    "id": 7456,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6681:7:38",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 7459,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6681:10:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "6653:38:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseExpression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 7467,
                                        "name": "__record",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7434,
                                        "src": "6729:8:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                        }
                                      },
                                      "id": 7468,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "6738:6:38",
                                      "memberName": "solver",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 12427,
                                      "src": "6729:15:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 7466,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "6721:7:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes20_$",
                                      "typeString": "type(bytes20)"
                                    },
                                    "typeName": {
                                      "id": 7465,
                                      "name": "bytes20",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "6721:7:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 7469,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6721:24:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes20",
                                    "typeString": "bytes20"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes20",
                                    "typeString": "bytes20"
                                  }
                                ],
                                "id": 7464,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "6713:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": {
                                  "id": 7463,
                                  "name": "bytes32",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "6713:7:38",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 7470,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6713:33:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 7471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "Conditional",
                            "src": "6653:93:38",
                            "trueExpression": {
                              "expression": {
                                "id": 7461,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7434,
                                "src": "6694:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                }
                              },
                              "id": 7462,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6703:7:38",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12425,
                              "src": "6694:16:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "6637:109:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 7473,
                        "nodeType": "ExpressionStatement",
                        "src": "6637:109:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7428,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 7425,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7422,
                      "src": "6485:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 7426,
                        "name": "_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7389,
                        "src": "6491:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 7427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6496:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6491:11:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6485:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7475,
                  "initializationExpression": {
                    "assignments": [
                      7422
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 7422,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "6476:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 7475,
                        "src": "6471:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 7421,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6471:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 7424,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 7423,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6482:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6471:12:38"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 7430,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6504:6:38",
                      "subExpression": {
                        "id": 7429,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7422,
                        "src": "6504:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7431,
                    "nodeType": "ExpressionStatement",
                    "src": "6504:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "6466:292:38"
                }
              ]
            },
            "functionSelector": "0306732e",
            "id": 7477,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportedFeeds",
            "nameLocation": "6161:14:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7386,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6195:8:38"
            },
            "parameters": {
              "id": 7385,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6175:2:38"
            },
            "returnParameters": {
              "id": 7396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7389,
                  "mutability": "mutable",
                  "name": "_ids",
                  "nameLocation": "6261:4:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7477,
                  "src": "6245:20:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7387,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "6245:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 7388,
                    "nodeType": "ArrayTypeName",
                    "src": "6245:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7392,
                  "mutability": "mutable",
                  "name": "_captions",
                  "nameLocation": "6283:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7477,
                  "src": "6267:25:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7390,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "6267:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 7391,
                    "nodeType": "ArrayTypeName",
                    "src": "6267:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7395,
                  "mutability": "mutable",
                  "name": "_solvers",
                  "nameLocation": "6311:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7477,
                  "src": "6294:25:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7393,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "6294:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 7394,
                    "nodeType": "ArrayTypeName",
                    "src": "6294:9:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6244:76:38"
            },
            "scope": 9169,
            "src": "6152:613:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12778
            ],
            "body": {
              "id": 7500,
              "nodeType": "Block",
              "src": "6905:108:38",
              "statements": [
                {
                  "assignments": [
                    7486
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7486,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "6923:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7500,
                      "src": "6916:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 7485,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "6916:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7490,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7488,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7479,
                        "src": "6937:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 7487,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7370,
                      "src": "6932:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 7489,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6932:13:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6916:29:38"
                },
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    },
                    "id": 7498,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 7493,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7486,
                                "src": "6979:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 7492,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "6968:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 7494,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6968:18:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 7495,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6987:7:38",
                          "memberName": "caption",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12415,
                          "src": "6968:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        ],
                        "id": 7491,
                        "name": "hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7370,
                        "src": "6963:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                          "typeString": "function (string memory) pure returns (bytes4)"
                        }
                      },
                      "id": 7496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6963:32:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "id": 7497,
                      "name": "feedId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7486,
                      "src": "6999:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "src": "6963:42:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 7484,
                  "id": 7499,
                  "nodeType": "Return",
                  "src": "6956:49:38"
                }
              ]
            },
            "functionSelector": "c5010d17",
            "id": 7501,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportsCaption",
            "nameLocation": "6786:15:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7481,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6844:8:38"
            },
            "parameters": {
              "id": 7480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7479,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "6818:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7501,
                  "src": "6802:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7478,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6802:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6801:25:38"
            },
            "returnParameters": {
              "id": 7484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7483,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7501,
                  "src": "6894:4:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7482,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6894:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6893:6:38"
            },
            "scope": 9169,
            "src": "6777:236:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12783
            ],
            "body": {
              "id": 7512,
              "nodeType": "Block",
              "src": "7122:48:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7507,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12441,
                          "src": "7140:9:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                          }
                        },
                        "id": 7508,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7140:11:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                        }
                      },
                      "id": 7509,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7152:3:38",
                      "memberName": "ids",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12407,
                      "src": "7140:15:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                        "typeString": "bytes4[] storage ref"
                      }
                    },
                    "id": 7510,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "7156:6:38",
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "7140:22:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7506,
                  "id": 7511,
                  "nodeType": "Return",
                  "src": "7133:29:38"
                }
              ]
            },
            "functionSelector": "d6a3614f",
            "id": 7513,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalFeeds",
            "nameLocation": "7034:10:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7503,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7057:8:38"
            },
            "parameters": {
              "id": 7502,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7044:2:38"
            },
            "returnParameters": {
              "id": 7506,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7505,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7513,
                  "src": "7108:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7504,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7108:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7107:9:38"
            },
            "scope": 9169,
            "src": "7025:145:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12906
            ],
            "body": {
              "id": 7524,
              "nodeType": "Block",
              "src": "7537:50:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 7520,
                        "name": "__defaultRadonSLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7073,
                        "src": "7555:17:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                          "typeString": "struct WitnetV2.RadonSLA storage ref"
                        }
                      },
                      "id": 7521,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7573:4:38",
                      "memberName": "toV1",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23576,
                      "src": "7555:22:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_struct$_RadonSLA_$16519_memory_ptr_$attached_to$_t_struct$_RadonSLA_$23503_memory_ptr_$",
                        "typeString": "function (struct WitnetV2.RadonSLA memory) pure returns (struct Witnet.RadonSLA memory)"
                      }
                    },
                    "id": 7522,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7555:24:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                      "typeString": "struct Witnet.RadonSLA memory"
                    }
                  },
                  "functionReturnParameters": 7519,
                  "id": 7523,
                  "nodeType": "Return",
                  "src": "7548:31:38"
                }
              ]
            },
            "functionSelector": "6d1178e5",
            "id": 7525,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "defaultRadonSLA",
            "nameLocation": "7433:15:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7515,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7460:8:38"
            },
            "parameters": {
              "id": 7514,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7448:2:38"
            },
            "returnParameters": {
              "id": 7519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7518,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7525,
                  "src": "7508:22:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                    "typeString": "struct Witnet.RadonSLA"
                  },
                  "typeName": {
                    "id": 7517,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7516,
                      "name": "Witnet.RadonSLA",
                      "nameLocations": [
                        "7508:6:38",
                        "7515:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16519,
                      "src": "7508:15:38"
                    },
                    "referencedDeclaration": 16519,
                    "src": "7508:15:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$16519_storage_ptr",
                      "typeString": "struct Witnet.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7507:24:38"
            },
            "scope": 9169,
            "src": "7424:163:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12913
            ],
            "body": {
              "id": 7547,
              "nodeType": "Block",
              "src": "7728:136:38",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7545,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7542,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 7535,
                                "name": "_evmGasPrice",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7527,
                                "src": "7770:12:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "hexValue": "3332",
                                "id": 7536,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "7784:2:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_32_by_1",
                                  "typeString": "int_const 32"
                                },
                                "value": "32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_rational_32_by_1",
                                  "typeString": "int_const 32"
                                }
                              ],
                              "expression": {
                                "id": 7533,
                                "name": "witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7070,
                                "src": "7747:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                  "typeString": "contract WitnetOracle"
                                }
                              },
                              "id": 7534,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7754:15:38",
                              "memberName": "estimateBaseFee",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 13105,
                              "src": "7747:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint16_$returns$_t_uint256_$",
                                "typeString": "function (uint256,uint16) view external returns (uint256)"
                              }
                            },
                            "id": 7537,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7747:40:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "components": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                },
                                "id": 7540,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "hexValue": "313030",
                                  "id": 7538,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "7804:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_100_by_1",
                                    "typeString": "int_const 100"
                                  },
                                  "value": "100"
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "id": 7539,
                                  "name": "__baseFeeOverheadPercentage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7075,
                                  "src": "7810:27:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                },
                                "src": "7804:33:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "id": 7541,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "7803:35:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "src": "7747:91:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 7543,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "7746:103:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "hexValue": "313030",
                      "id": 7544,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7852:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_100_by_1",
                        "typeString": "int_const 100"
                      },
                      "value": "100"
                    },
                    "src": "7746:109:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7532,
                  "id": 7546,
                  "nodeType": "Return",
                  "src": "7739:116:38"
                }
              ]
            },
            "functionSelector": "c064d372",
            "id": 7548,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateUpdateBaseFee",
            "nameLocation": "7608:21:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7529,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7669:8:38"
            },
            "parameters": {
              "id": 7528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7527,
                  "mutability": "mutable",
                  "name": "_evmGasPrice",
                  "nameLocation": "7638:12:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7548,
                  "src": "7630:20:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7526,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7630:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7629:22:38"
            },
            "returnParameters": {
              "id": 7532,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7531,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7548,
                  "src": "7717:4:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7530,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7717:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7716:6:38"
            },
            "scope": 9169,
            "src": "7599:265:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12920
            ],
            "body": {
              "id": 7560,
              "nodeType": "Block",
              "src": "7975:51:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7557,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7550,
                        "src": "8011:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 7556,
                      "name": "_lastValidQueryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8863,
                      "src": "7993:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                        "typeString": "function (bytes4) view returns (uint256)"
                      }
                    },
                    "id": 7558,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7993:25:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7555,
                  "id": 7559,
                  "nodeType": "Return",
                  "src": "7986:32:38"
                }
              ]
            },
            "functionSelector": "029db958",
            "id": 7561,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryId",
            "nameLocation": "7881:16:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7552,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7922:8:38"
            },
            "parameters": {
              "id": 7551,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7550,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7905:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7561,
                  "src": "7898:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7549,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7898:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7897:15:38"
            },
            "returnParameters": {
              "id": 7555,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7554,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7561,
                  "src": "7961:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7553,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7961:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7960:9:38"
            },
            "scope": 9169,
            "src": "7872:154:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12928
            ],
            "body": {
              "id": 7577,
              "nodeType": "Block",
              "src": "8155:76:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7573,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7563,
                            "src": "8215:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7572,
                          "name": "_lastValidQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8863,
                          "src": "8197:17:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 7574,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8197:25:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7570,
                        "name": "witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7070,
                        "src": "8173:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                          "typeString": "contract WitnetOracle"
                        }
                      },
                      "id": 7571,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8180:16:38",
                      "memberName": "getQueryResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13169,
                      "src": "8173:23:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct WitnetV2.Response memory)"
                      }
                    },
                    "id": 7575,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8173:50:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                      "typeString": "struct WitnetV2.Response memory"
                    }
                  },
                  "functionReturnParameters": 7569,
                  "id": 7576,
                  "nodeType": "Return",
                  "src": "8166:57:38"
                }
              ]
            },
            "functionSelector": "f9b4a27f",
            "id": 7578,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidResponse",
            "nameLocation": "8043:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7565,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8085:8:38"
            },
            "parameters": {
              "id": 7564,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7563,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8068:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7578,
                  "src": "8061:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7562,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8061:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8060:15:38"
            },
            "returnParameters": {
              "id": 7569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7568,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7578,
                  "src": "8124:24:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                    "typeString": "struct WitnetV2.Response"
                  },
                  "typeName": {
                    "id": 7567,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7566,
                      "name": "WitnetV2.Response",
                      "nameLocations": [
                        "8124:8:38",
                        "8133:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23488,
                      "src": "8124:17:38"
                    },
                    "referencedDeclaration": 23488,
                    "src": "8124:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                      "typeString": "struct WitnetV2.Response"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8123:26:38"
            },
            "scope": 9169,
            "src": "8034:197:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12935
            ],
            "body": {
              "id": 7591,
              "nodeType": "Block",
              "src": "8345:64:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 7587,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7580,
                          "src": "8374:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "id": 7586,
                        "name": "__records_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12457,
                        "src": "8363:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                        }
                      },
                      "id": 7588,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8363:18:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                      }
                    },
                    "id": 7589,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8382:19:38",
                    "memberName": "latestUpdateQueryId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12423,
                    "src": "8363:38:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7585,
                  "id": 7590,
                  "nodeType": "Return",
                  "src": "8356:45:38"
                }
              ]
            },
            "functionSelector": "5be93984",
            "id": 7592,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryId",
            "nameLocation": "8248:19:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7582,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8292:8:38"
            },
            "parameters": {
              "id": 7581,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7580,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8275:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7592,
                  "src": "8268:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7579,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8268:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8267:15:38"
            },
            "returnParameters": {
              "id": 7585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7584,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7592,
                  "src": "8331:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7583,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8331:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8330:9:38"
            },
            "scope": 9169,
            "src": "8239:170:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12943
            ],
            "body": {
              "id": 7608,
              "nodeType": "Block",
              "src": "8542:77:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7604,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7594,
                            "src": "8603:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7603,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7592,
                          "src": "8583:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 7605,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8583:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7601,
                        "name": "witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7070,
                        "src": "8560:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                          "typeString": "contract WitnetOracle"
                        }
                      },
                      "id": 7602,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8567:15:38",
                      "memberName": "getQueryRequest",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13160,
                      "src": "8560:22:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Request_$23476_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct WitnetV2.Request memory)"
                      }
                    },
                    "id": 7606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8560:51:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Request_$23476_memory_ptr",
                      "typeString": "struct WitnetV2.Request memory"
                    }
                  },
                  "functionReturnParameters": 7600,
                  "id": 7607,
                  "nodeType": "Return",
                  "src": "8553:58:38"
                }
              ]
            },
            "functionSelector": "89a87b16",
            "id": 7609,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateRequest",
            "nameLocation": "8426:19:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7596,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8470:8:38"
            },
            "parameters": {
              "id": 7595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7594,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8453:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7609,
                  "src": "8446:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7593,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8446:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8445:15:38"
            },
            "returnParameters": {
              "id": 7600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7599,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7609,
                  "src": "8512:23:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Request_$23476_memory_ptr",
                    "typeString": "struct WitnetV2.Request"
                  },
                  "typeName": {
                    "id": 7598,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7597,
                      "name": "WitnetV2.Request",
                      "nameLocations": [
                        "8512:8:38",
                        "8521:7:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23476,
                      "src": "8512:16:38"
                    },
                    "referencedDeclaration": 23476,
                    "src": "8512:16:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                      "typeString": "struct WitnetV2.Request"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8511:25:38"
            },
            "scope": 9169,
            "src": "8417:202:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12951
            ],
            "body": {
              "id": 7625,
              "nodeType": "Block",
              "src": "8753:78:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7621,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7611,
                            "src": "8815:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7620,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7592,
                          "src": "8795:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 7622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8795:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7618,
                        "name": "witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7070,
                        "src": "8771:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                          "typeString": "contract WitnetOracle"
                        }
                      },
                      "id": 7619,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8778:16:38",
                      "memberName": "getQueryResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13169,
                      "src": "8771:23:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct WitnetV2.Response memory)"
                      }
                    },
                    "id": 7623,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8771:52:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                      "typeString": "struct WitnetV2.Response memory"
                    }
                  },
                  "functionReturnParameters": 7617,
                  "id": 7624,
                  "nodeType": "Return",
                  "src": "8764:59:38"
                }
              ]
            },
            "functionSelector": "d3471e34",
            "id": 7626,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponse",
            "nameLocation": "8636:20:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7613,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8681:8:38"
            },
            "parameters": {
              "id": 7612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7611,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8664:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7626,
                  "src": "8657:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7610,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8657:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8656:15:38"
            },
            "returnParameters": {
              "id": 7617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7616,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7626,
                  "src": "8722:24:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                    "typeString": "struct WitnetV2.Response"
                  },
                  "typeName": {
                    "id": 7615,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7614,
                      "name": "WitnetV2.Response",
                      "nameLocations": [
                        "8722:8:38",
                        "8731:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23488,
                      "src": "8722:17:38"
                    },
                    "referencedDeclaration": 23488,
                    "src": "8722:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                      "typeString": "struct WitnetV2.Response"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8721:26:38"
            },
            "scope": 9169,
            "src": "8627:204:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12967
            ],
            "body": {
              "id": 7642,
              "nodeType": "Block",
              "src": "8970:81:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7638,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7628,
                            "src": "9035:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7637,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7592,
                          "src": "9015:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 7639,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9015:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7635,
                        "name": "witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7070,
                        "src": "8988:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                          "typeString": "contract WitnetOracle"
                        }
                      },
                      "id": 7636,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8995:19:38",
                      "memberName": "getQueryResultError",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13195,
                      "src": "8988:26:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ResultError_$16055_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct Witnet.ResultError memory)"
                      }
                    },
                    "id": 7640,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8988:55:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                      "typeString": "struct Witnet.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 7634,
                  "id": 7641,
                  "nodeType": "Return",
                  "src": "8981:62:38"
                }
              ]
            },
            "functionSelector": "49492ef1",
            "id": 7643,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResultError",
            "nameLocation": "8848:23:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7630,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8896:8:38"
            },
            "parameters": {
              "id": 7629,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7628,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "8879:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7643,
                  "src": "8872:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7627,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8872:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8871:15:38"
            },
            "returnParameters": {
              "id": 7634,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7633,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7643,
                  "src": "8938:25:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 7632,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7631,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "8938:6:38",
                        "8945:11:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "8938:18:38"
                    },
                    "referencedDeclaration": 16055,
                    "src": "8938:18:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8937:27:38"
            },
            "scope": 9169,
            "src": "8839:212:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12959
            ],
            "body": {
              "id": 7658,
              "nodeType": "Block",
              "src": "9192:80:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7654,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7645,
                            "src": "9256:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7653,
                          "name": "latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7592,
                          "src": "9236:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                            "typeString": "function (bytes4) view returns (uint256)"
                          }
                        },
                        "id": 7655,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9236:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7652,
                      "name": "_checkQueryResponseStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8779,
                      "src": "9210:25:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ResponseStatus_$23496_$",
                        "typeString": "function (uint256) view returns (enum WitnetV2.ResponseStatus)"
                      }
                    },
                    "id": 7656,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9210:54:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    }
                  },
                  "functionReturnParameters": 7651,
                  "id": 7657,
                  "nodeType": "Return",
                  "src": "9203:61:38"
                }
              ]
            },
            "functionSelector": "f14cb812",
            "id": 7659,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponseStatus",
            "nameLocation": "9072:26:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7647,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9123:8:38"
            },
            "parameters": {
              "id": 7646,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7645,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9106:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7659,
                  "src": "9099:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7644,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9099:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9098:15:38"
            },
            "returnParameters": {
              "id": 7651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7650,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7659,
                  "src": "9162:23:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                    "typeString": "enum WitnetV2.ResponseStatus"
                  },
                  "typeName": {
                    "id": 7649,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7648,
                      "name": "WitnetV2.ResponseStatus",
                      "nameLocations": [
                        "9162:8:38",
                        "9171:14:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23496,
                      "src": "9162:23:38"
                    },
                    "referencedDeclaration": 23496,
                    "src": "9162:23:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9161:25:38"
            },
            "scope": 9169,
            "src": "9063:209:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12974
            ],
            "body": {
              "id": 7689,
              "nodeType": "Block",
              "src": "9394:231:38",
              "statements": [
                {
                  "assignments": [
                    7669
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7669,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "9420:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7689,
                      "src": "9405:23:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record"
                      },
                      "typeName": {
                        "id": 7668,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 7667,
                          "name": "Record",
                          "nameLocations": [
                            "9405:6:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 12432,
                          "src": "9405:6:38"
                        },
                        "referencedDeclaration": 12432,
                        "src": "9405:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7673,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7671,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7661,
                        "src": "9442:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 7670,
                      "name": "__records_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12457,
                      "src": "9431:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                      }
                    },
                    "id": 7672,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9431:18:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9405:44:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 7678,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 7675,
                            "name": "__record",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7669,
                            "src": "9482:8:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 7676,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "9491:7:38",
                          "memberName": "radHash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12425,
                          "src": "9482:16:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 7677,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "9502:1:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "9482:21:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f205241442068617368",
                        "id": 7679,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9518:31:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_64a4ffcfcea2db7a28cfbd9db64548d124406535e468937bb05d697f6a65148a",
                          "typeString": "literal_string \"WitnetPriceFeeds: no RAD hash\""
                        },
                        "value": "WitnetPriceFeeds: no RAD hash"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_64a4ffcfcea2db7a28cfbd9db64548d124406535e468937bb05d697f6a65148a",
                          "typeString": "literal_string \"WitnetPriceFeeds: no RAD hash\""
                        }
                      ],
                      "id": 7674,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "9460:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9460:100:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7681,
                  "nodeType": "ExpressionStatement",
                  "src": "9460:100:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 7685,
                          "name": "__record",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7669,
                          "src": "9600:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                          }
                        },
                        "id": 7686,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9609:7:38",
                        "memberName": "radHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12425,
                        "src": "9600:16:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7682,
                          "name": "registry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7780,
                          "src": "9578:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_WitnetRequestBytecodes_$849_$",
                            "typeString": "function () view returns (contract WitnetRequestBytecodes)"
                          }
                        },
                        "id": 7683,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9578:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                          "typeString": "contract WitnetRequestBytecodes"
                        }
                      },
                      "id": 7684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9589:10:38",
                      "memberName": "bytecodeOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13796,
                      "src": "9578:21:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (bytes memory)"
                      }
                    },
                    "id": 7687,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9578:39:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 7666,
                  "id": 7688,
                  "nodeType": "Return",
                  "src": "9571:46:38"
                }
              ]
            },
            "functionSelector": "4efef9c0",
            "id": 7690,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetBytecode",
            "nameLocation": "9289:20:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7663,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9334:8:38"
            },
            "parameters": {
              "id": 7662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7661,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9317:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7690,
                  "src": "9310:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7660,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9310:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9309:15:38"
            },
            "returnParameters": {
              "id": 7666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7665,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7690,
                  "src": "9375:12:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7664,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "9375:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9374:14:38"
            },
            "scope": 9169,
            "src": "9280:345:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12981
            ],
            "body": {
              "id": 7703,
              "nodeType": "Block",
              "src": "9743:52:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 7699,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7692,
                          "src": "9772:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "id": 7698,
                        "name": "__records_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12457,
                        "src": "9761:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                        }
                      },
                      "id": 7700,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9761:18:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                      }
                    },
                    "id": 7701,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "9780:7:38",
                    "memberName": "radHash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12425,
                    "src": "9761:26:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 7697,
                  "id": 7702,
                  "nodeType": "Return",
                  "src": "9754:33:38"
                }
              ]
            },
            "functionSelector": "8df3fdfd",
            "id": 7704,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRadHash",
            "nameLocation": "9646:19:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7694,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9690:8:38"
            },
            "parameters": {
              "id": 7693,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7692,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9673:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7704,
                  "src": "9666:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7691,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9666:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9665:15:38"
            },
            "returnParameters": {
              "id": 7697,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7696,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7704,
                  "src": "9729:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7695,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9729:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9728:9:38"
            },
            "scope": 9169,
            "src": "9637:158:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12990
            ],
            "body": {
              "id": 7762,
              "nodeType": "Block",
              "src": "9949:333:38",
              "statements": [
                {
                  "assignments": [
                    7718
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7718,
                      "mutability": "mutable",
                      "name": "_hashes",
                      "nameLocation": "9977:7:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7762,
                      "src": "9960:24:38",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7716,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "9960:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 7717,
                        "nodeType": "ArrayTypeName",
                        "src": "9960:9:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                          "typeString": "bytes32[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7726,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7723,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7706,
                            "src": "10044:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 7722,
                          "name": "lookupWitnetRadHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7704,
                          "src": "10024:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bytes32_$",
                            "typeString": "function (bytes4) view returns (bytes32)"
                          }
                        },
                        "id": 7724,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10024:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7719,
                          "name": "registry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7780,
                          "src": "9987:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_WitnetRequestBytecodes_$849_$",
                            "typeString": "function () view returns (contract WitnetRequestBytecodes)"
                          }
                        },
                        "id": 7720,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9987:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                          "typeString": "contract WitnetRequestBytecodes"
                        }
                      },
                      "id": 7721,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9998:25:38",
                      "memberName": "lookupRadonRequestSources",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13913,
                      "src": "9987:36:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (bytes32[] memory)"
                      }
                    },
                    "id": 7725,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9987:65:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                      "typeString": "bytes32[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9960:92:38"
                },
                {
                  "expression": {
                    "id": 7735,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 7727,
                      "name": "_retrievals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7712,
                      "src": "10063:11:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 7732,
                            "name": "_hashes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7718,
                            "src": "10105:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 7733,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10113:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "10105:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7731,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "10077:27:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (struct Witnet.RadonRetrieval memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 7729,
                            "nodeType": "UserDefinedTypeName",
                            "pathNode": {
                              "id": 7728,
                              "name": "Witnet.RadonRetrieval",
                              "nameLocations": [
                                "10081:6:38",
                                "10088:14:38"
                              ],
                              "nodeType": "IdentifierPath",
                              "referencedDeclaration": 16495,
                              "src": "10081:21:38"
                            },
                            "referencedDeclaration": 16495,
                            "src": "10081:21:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                              "typeString": "struct Witnet.RadonRetrieval"
                            }
                          },
                          "id": 7730,
                          "nodeType": "ArrayTypeName",
                          "src": "10081:23:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_storage_$dyn_storage_ptr",
                            "typeString": "struct Witnet.RadonRetrieval[]"
                          }
                        }
                      },
                      "id": 7734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10077:43:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                      }
                    },
                    "src": "10063:57:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                    }
                  },
                  "id": 7736,
                  "nodeType": "ExpressionStatement",
                  "src": "10063:57:38"
                },
                {
                  "body": {
                    "id": 7760,
                    "nodeType": "Block",
                    "src": "10184:91:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 7758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 7748,
                              "name": "_retrievals",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7712,
                              "src": "10199:11:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                              }
                            },
                            "id": 7750,
                            "indexExpression": {
                              "id": 7749,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7738,
                              "src": "10211:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "10199:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                              "typeString": "struct Witnet.RadonRetrieval memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 7754,
                                  "name": "_hashes",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7718,
                                  "src": "10250:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                    "typeString": "bytes32[] memory"
                                  }
                                },
                                "id": 7756,
                                "indexExpression": {
                                  "id": 7755,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7738,
                                  "src": "10258:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "10250:12:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7751,
                                  "name": "registry",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7780,
                                  "src": "10218:8:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_WitnetRequestBytecodes_$849_$",
                                    "typeString": "function () view returns (contract WitnetRequestBytecodes)"
                                  }
                                },
                                "id": 7752,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10218:10:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                                  "typeString": "contract WitnetRequestBytecodes"
                                }
                              },
                              "id": 7753,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10229:20:38",
                              "memberName": "lookupRadonRetrieval",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 13867,
                              "src": "10218:31:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_RadonRetrieval_$16495_memory_ptr_$",
                                "typeString": "function (bytes32) view external returns (struct Witnet.RadonRetrieval memory)"
                              }
                            },
                            "id": 7757,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10218:45:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                              "typeString": "struct Witnet.RadonRetrieval memory"
                            }
                          },
                          "src": "10199:64:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory"
                          }
                        },
                        "id": 7759,
                        "nodeType": "ExpressionStatement",
                        "src": "10199:64:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 7741,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7738,
                      "src": "10150:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 7742,
                        "name": "_retrievals",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7712,
                        "src": "10156:11:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                        }
                      },
                      "id": 7743,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10168:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "10156:18:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10150:24:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7761,
                  "initializationExpression": {
                    "assignments": [
                      7738
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 7738,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "10141:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 7761,
                        "src": "10136:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 7737,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "10136:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 7740,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 7739,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10147:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "10136:12:38"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 7746,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "10176:6:38",
                      "subExpression": {
                        "id": 7745,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7738,
                        "src": "10176:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7747,
                    "nodeType": "ExpressionStatement",
                    "src": "10176:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "10131:144:38"
                }
              ]
            },
            "functionSelector": "806d7e8f",
            "id": 7763,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRetrievals",
            "nameLocation": "9812:22:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7708,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9859:8:38"
            },
            "parameters": {
              "id": 7707,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7706,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "9842:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7763,
                  "src": "9835:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7705,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9835:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9834:15:38"
            },
            "returnParameters": {
              "id": 7713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7712,
                  "mutability": "mutable",
                  "name": "_retrievals",
                  "nameLocation": "9931:11:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7763,
                  "src": "9900:42:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7710,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 7709,
                        "name": "Witnet.RadonRetrieval",
                        "nameLocations": [
                          "9900:6:38",
                          "9907:14:38"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 16495,
                        "src": "9900:21:38"
                      },
                      "referencedDeclaration": 16495,
                      "src": "9900:21:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                        "typeString": "struct Witnet.RadonRetrieval"
                      }
                    },
                    "id": 7711,
                    "nodeType": "ArrayTypeName",
                    "src": "9900:23:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9899:44:38"
            },
            "scope": 9169,
            "src": "9803:479:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              12894
            ],
            "body": {
              "id": 7779,
              "nodeType": "Block",
              "src": "10372:66:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 7773,
                                "name": "witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7070,
                                "src": "10411:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                  "typeString": "contract WitnetOracle"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                  "typeString": "contract WitnetOracle"
                                }
                              ],
                              "id": 7772,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10403:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 7771,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "10403:7:38",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 7774,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10403:15:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 7770,
                          "name": "WitnetOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 749,
                          "src": "10390:12:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracle_$749_$",
                            "typeString": "type(contract WitnetOracle)"
                          }
                        },
                        "id": 7775,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10390:29:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                          "typeString": "contract WitnetOracle"
                        }
                      },
                      "id": 7776,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10420:8:38",
                      "memberName": "registry",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 743,
                      "src": "10390:38:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_WitnetRequestBytecodes_$849_$",
                        "typeString": "function () view external returns (contract WitnetRequestBytecodes)"
                      }
                    },
                    "id": 7777,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10390:40:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "functionReturnParameters": 7769,
                  "id": 7778,
                  "nodeType": "Return",
                  "src": "10383:47:38"
                }
              ]
            },
            "functionSelector": "7b103999",
            "id": 7780,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "registry",
            "nameLocation": "10299:8:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7765,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10330:8:38"
            },
            "parameters": {
              "id": 7764,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10307:2:38"
            },
            "returnParameters": {
              "id": 7769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7768,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7780,
                  "src": "10348:22:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 7767,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7766,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "10348:22:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "10348:22:38"
                    },
                    "referencedDeclaration": 849,
                    "src": "10348:22:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10347:24:38"
            },
            "scope": 9169,
            "src": "10290:148:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              12997
            ],
            "body": {
              "id": 7793,
              "nodeType": "Block",
              "src": "10568:68:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7789,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7782,
                        "src": "10602:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 7790,
                        "name": "__defaultRadonSLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7073,
                        "src": "10610:17:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                          "typeString": "struct WitnetV2.RadonSLA storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                          "typeString": "struct WitnetV2.RadonSLA storage ref"
                        }
                      ],
                      "id": 7788,
                      "name": "__requestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8945,
                        9168
                      ],
                      "referencedDeclaration": 9168,
                      "src": "10586:15:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes4,struct WitnetV2.RadonSLA memory) returns (uint256)"
                      }
                    },
                    "id": 7791,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10586:42:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7787,
                  "id": 7792,
                  "nodeType": "Return",
                  "src": "10579:49:38"
                }
              ]
            },
            "functionSelector": "3e088e12",
            "id": 7794,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "10455:13:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7784,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10527:8:38"
            },
            "parameters": {
              "id": 7783,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7782,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "10476:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7794,
                  "src": "10469:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7781,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "10469:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10468:15:38"
            },
            "returnParameters": {
              "id": 7787,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7786,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7794,
                  "src": "10554:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7785,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10554:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10553:9:38"
            },
            "scope": 9169,
            "src": "10446:190:38",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13007
            ],
            "body": {
              "id": 7818,
              "nodeType": "Block",
              "src": "10817:201:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 7808,
                            "name": "__defaultRadonSLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7073,
                            "src": "10879:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                            }
                          ],
                          "expression": {
                            "id": 7806,
                            "name": "updateSLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7799,
                            "src": "10850:9:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                              "typeString": "struct WitnetV2.RadonSLA calldata"
                            }
                          },
                          "id": 7807,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10860:18:38",
                          "memberName": "equalOrGreaterThan",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23523,
                          "src": "10850:28:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonSLA_$23503_memory_ptr_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_RadonSLA_$23503_memory_ptr_$",
                            "typeString": "function (struct WitnetV2.RadonSLA memory,struct WitnetV2.RadonSLA memory) pure returns (bool)"
                          }
                        },
                        "id": 7809,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10850:47:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e73656375726520757064617465",
                        "id": 7810,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10912:35:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_530619d6beb9c7e1863b6c608548da797cf5310e6c7ed16e3835858950597c54",
                          "typeString": "literal_string \"WitnetPriceFeeds: unsecure update\""
                        },
                        "value": "WitnetPriceFeeds: unsecure update"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_530619d6beb9c7e1863b6c608548da797cf5310e6c7ed16e3835858950597c54",
                          "typeString": "literal_string \"WitnetPriceFeeds: unsecure update\""
                        }
                      ],
                      "id": 7805,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "10828:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10828:130:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7812,
                  "nodeType": "ExpressionStatement",
                  "src": "10828:130:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7814,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7796,
                        "src": "10992:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 7815,
                        "name": "updateSLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7799,
                        "src": "11000:9:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                          "typeString": "struct WitnetV2.RadonSLA calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                          "typeString": "struct WitnetV2.RadonSLA calldata"
                        }
                      ],
                      "id": 7813,
                      "name": "__requestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8945,
                        9168
                      ],
                      "referencedDeclaration": 9168,
                      "src": "10976:15:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes4,struct WitnetV2.RadonSLA memory) returns (uint256)"
                      }
                    },
                    "id": 7816,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10976:34:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7804,
                  "id": 7817,
                  "nodeType": "Return",
                  "src": "10969:41:38"
                }
              ]
            },
            "functionSelector": "abc86c6e",
            "id": 7819,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "10657:13:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7801,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10765:8:38"
            },
            "parameters": {
              "id": 7800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7796,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "10678:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7819,
                  "src": "10671:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 7795,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "10671:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7799,
                  "mutability": "mutable",
                  "name": "updateSLA",
                  "nameLocation": "10713:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7819,
                  "src": "10686:36:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                    "typeString": "struct WitnetV2.RadonSLA"
                  },
                  "typeName": {
                    "id": 7798,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7797,
                      "name": "WitnetV2.RadonSLA",
                      "nameLocations": [
                        "10686:8:38",
                        "10695:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23503,
                      "src": "10686:17:38"
                    },
                    "referencedDeclaration": 23503,
                    "src": "10686:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                      "typeString": "struct WitnetV2.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10670:53:38"
            },
            "returnParameters": {
              "id": 7804,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7803,
                  "mutability": "mutable",
                  "name": "_usedFunds",
                  "nameLocation": "10800:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7819,
                  "src": "10792:18:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7802,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10792:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10791:20:38"
            },
            "scope": 9169,
            "src": "10648:370:38",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              321,
              13033
            ],
            "body": {
              "id": 7831,
              "nodeType": "Block",
              "src": "11398:41:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 7827,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 401,
                        "src": "11416:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$401_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 7828,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11424:5:38",
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 321,
                      "src": "11416:13:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 7829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11416:15:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 7826,
                  "id": 7830,
                  "nodeType": "Return",
                  "src": "11409:22:38"
                }
              ]
            },
            "functionSelector": "8da5cb5b",
            "id": 7832,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nameLocation": "11281:5:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7823,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 7821,
                  "name": "IWitnetFeedsAdmin",
                  "nameLocations": [
                    "11316:17:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 13092,
                  "src": "11316:17:38"
                },
                {
                  "id": 7822,
                  "name": "Ownable",
                  "nameLocations": [
                    "11335:7:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 401,
                  "src": "11335:7:38"
                }
              ],
              "src": "11306:37:38"
            },
            "parameters": {
              "id": 7820,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11286:2:38"
            },
            "returnParameters": {
              "id": 7826,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7825,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7832,
                  "src": "11384:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7824,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11384:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11383:9:38"
            },
            "scope": 9169,
            "src": "11272:167:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13015,
              24093
            ],
            "body": {
              "id": 7843,
              "nodeType": "Block",
              "src": "11559:49:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 7838,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 24094,
                        "src": "11570:12:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$24094_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 7840,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11583:15:38",
                      "memberName": "acceptOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 24093,
                      "src": "11570:28:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 7841,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11570:30:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7842,
                  "nodeType": "ExpressionStatement",
                  "src": "11570:30:38"
                }
              ]
            },
            "functionSelector": "79ba5097",
            "id": 7844,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "acceptOwnership",
            "nameLocation": "11460:15:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7836,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 7834,
                  "name": "IWitnetFeedsAdmin",
                  "nameLocations": [
                    "11505:17:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 13092,
                  "src": "11505:17:38"
                },
                {
                  "id": 7835,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "11524:12:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 24094,
                  "src": "11524:12:38"
                }
              ],
              "src": "11495:42:38"
            },
            "parameters": {
              "id": 7833,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11475:2:38"
            },
            "returnParameters": {
              "id": 7837,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11559:0:38"
            },
            "scope": 9169,
            "src": "11451:157:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13020
            ],
            "body": {
              "id": 7852,
              "nodeType": "Block",
              "src": "11733:53:38",
              "statements": [
                {
                  "expression": {
                    "id": 7850,
                    "name": "__baseFeeOverheadPercentage",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7075,
                    "src": "11751:27:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "functionReturnParameters": 7849,
                  "id": 7851,
                  "nodeType": "Return",
                  "src": "11744:34:38"
                }
              ]
            },
            "functionSelector": "eb92b29b",
            "id": 7853,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "baseFeeOverheadPercentage",
            "nameLocation": "11625:25:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7846,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11670:8:38"
            },
            "parameters": {
              "id": 7845,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11650:2:38"
            },
            "returnParameters": {
              "id": 7849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7848,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7853,
                  "src": "11720:6:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 7847,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "11720:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11719:8:38"
            },
            "scope": 9169,
            "src": "11616:170:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13038,
              24032
            ],
            "body": {
              "id": 7865,
              "nodeType": "Block",
              "src": "11932:53:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 7861,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 24094,
                        "src": "11950:12:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$24094_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 7862,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11963:12:38",
                      "memberName": "pendingOwner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 24032,
                      "src": "11950:25:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 7863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11950:27:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 7860,
                  "id": 7864,
                  "nodeType": "Return",
                  "src": "11943:34:38"
                }
              ]
            },
            "functionSelector": "e30c3978",
            "id": 7866,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pendingOwner",
            "nameLocation": "11803:12:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7857,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 7855,
                  "name": "IWitnetFeedsAdmin",
                  "nameLocations": [
                    "11846:17:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 13092,
                  "src": "11846:17:38"
                },
                {
                  "id": 7856,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "11865:12:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 24094,
                  "src": "11865:12:38"
                }
              ],
              "src": "11836:42:38"
            },
            "parameters": {
              "id": 7854,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11815:2:38"
            },
            "returnParameters": {
              "id": 7860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7859,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7866,
                  "src": "11918:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7858,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11918:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11917:9:38"
            },
            "scope": 9169,
            "src": "11794:191:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13091,
              24052
            ],
            "body": {
              "id": 7882,
              "nodeType": "Block",
              "src": "12144:55:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7879,
                        "name": "_newOwner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7868,
                        "src": "12181:9:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 7876,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 401,
                        "src": "12155:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$401_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 7878,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12163:17:38",
                      "memberName": "transferOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 380,
                      "src": "12155:25:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 7880,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12155:36:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7881,
                  "nodeType": "ExpressionStatement",
                  "src": "12155:36:38"
                }
              ]
            },
            "functionSelector": "f2fde38b",
            "id": 7883,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 7874,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 7873,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "12129:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "12129:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "12129:9:38"
              }
            ],
            "name": "transferOwnership",
            "nameLocation": "12006:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7872,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 7870,
                  "name": "IWitnetFeedsAdmin",
                  "nameLocations": [
                    "12070:17:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 13092,
                  "src": "12070:17:38"
                },
                {
                  "id": 7871,
                  "name": "Ownable2Step",
                  "nameLocations": [
                    "12089:12:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 24094,
                  "src": "12089:12:38"
                }
              ],
              "src": "12060:42:38"
            },
            "parameters": {
              "id": 7869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7868,
                  "mutability": "mutable",
                  "name": "_newOwner",
                  "nameLocation": "12032:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7883,
                  "src": "12024:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7867,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12024:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12023:19:38"
            },
            "returnParameters": {
              "id": 7875,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12144:0:38"
            },
            "scope": 9169,
            "src": "11997:202:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13025
            ],
            "body": {
              "id": 7966,
              "nodeType": "Block",
              "src": "12321:554:38",
              "statements": [
                {
                  "assignments": [
                    7892
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7892,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "12339:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7966,
                      "src": "12332:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 7891,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "12332:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7896,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7894,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7885,
                        "src": "12353:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 7893,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7370,
                      "src": "12348:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 7895,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12348:13:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12332:29:38"
                },
                {
                  "assignments": [
                    7901
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7901,
                      "mutability": "mutable",
                      "name": "__ids",
                      "nameLocation": "12389:5:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7966,
                      "src": "12372:22:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7899,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "12372:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 7900,
                        "nodeType": "ArrayTypeName",
                        "src": "12372:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7905,
                  "initialValue": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 7902,
                        "name": "__storage",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12441,
                        "src": "12397:9:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                          "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                        }
                      },
                      "id": 7903,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12397:11:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                      }
                    },
                    "id": 7904,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "12409:3:38",
                    "memberName": "ids",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12407,
                    "src": "12397:15:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                      "typeString": "bytes4[] storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12372:40:38"
                },
                {
                  "assignments": [
                    7908
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7908,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "12438:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7966,
                      "src": "12423:23:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record"
                      },
                      "typeName": {
                        "id": 7907,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 7906,
                          "name": "Record",
                          "nameLocations": [
                            "12423:6:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 12432,
                          "src": "12423:6:38"
                        },
                        "referencedDeclaration": 12432,
                        "src": "12423:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7912,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7910,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7892,
                        "src": "12460:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 7909,
                      "name": "__records_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12457,
                      "src": "12449:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                      }
                    },
                    "id": 7911,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12449:18:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12423:44:38"
                },
                {
                  "assignments": [
                    7914
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7914,
                      "mutability": "mutable",
                      "name": "_index",
                      "nameLocation": "12483:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 7966,
                      "src": "12478:11:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7913,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "12478:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7917,
                  "initialValue": {
                    "expression": {
                      "id": 7915,
                      "name": "__record",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7908,
                      "src": "12492:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                      }
                    },
                    "id": 7916,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "12501:5:38",
                    "memberName": "index",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12419,
                    "src": "12492:14:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12478:28:38"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7921,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 7919,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7914,
                          "src": "12525:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 7920,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "12535:1:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "12525:11:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20756e6b6e6f776e2066656564",
                        "id": 7922,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12538:32:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3",
                          "typeString": "literal_string \"WitnetPriceFeeds: unknown feed\""
                        },
                        "value": "WitnetPriceFeeds: unknown feed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3",
                          "typeString": "literal_string \"WitnetPriceFeeds: unknown feed\""
                        }
                      ],
                      "id": 7918,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "12517:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12517:54:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7924,
                  "nodeType": "ExpressionStatement",
                  "src": "12517:54:38"
                },
                {
                  "id": 7961,
                  "nodeType": "Block",
                  "src": "12582:245:38",
                  "statements": [
                    {
                      "assignments": [
                        7926
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 7926,
                          "mutability": "mutable",
                          "name": "_lastFeedId",
                          "nameLocation": "12604:11:38",
                          "nodeType": "VariableDeclaration",
                          "scope": 7961,
                          "src": "12597:18:38",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "typeName": {
                            "id": 7925,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "12597:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 7933,
                      "initialValue": {
                        "baseExpression": {
                          "id": 7927,
                          "name": "__ids",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7901,
                          "src": "12618:5:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                            "typeString": "bytes4[] storage pointer"
                          }
                        },
                        "id": 7932,
                        "indexExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7931,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 7928,
                              "name": "__ids",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7901,
                              "src": "12624:5:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                                "typeString": "bytes4[] storage pointer"
                              }
                            },
                            "id": 7929,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12630:6:38",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "12624:12:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 7930,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "12639:1:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "12624:16:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12618:23:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "12597:44:38"
                    },
                    {
                      "expression": {
                        "id": 7940,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "baseExpression": {
                            "id": 7934,
                            "name": "__ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7901,
                            "src": "12656:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                              "typeString": "bytes4[] storage pointer"
                            }
                          },
                          "id": 7938,
                          "indexExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 7937,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 7935,
                              "name": "_index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7914,
                              "src": "12662:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 7936,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "12671:1:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "12662:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "nodeType": "IndexAccess",
                          "src": "12656:17:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "id": 7939,
                          "name": "_lastFeedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7926,
                          "src": "12676:11:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "src": "12656:31:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "id": 7941,
                      "nodeType": "ExpressionStatement",
                      "src": "12656:31:38"
                    },
                    {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 7942,
                            "name": "__ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7901,
                            "src": "12702:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                              "typeString": "bytes4[] storage pointer"
                            }
                          },
                          "id": 7944,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12708:3:38",
                          "memberName": "pop",
                          "nodeType": "MemberAccess",
                          "src": "12702:9:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                            "typeString": "function (bytes4[] storage pointer)"
                          }
                        },
                        "id": 7945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12702:11:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$__$",
                          "typeString": "tuple()"
                        }
                      },
                      "id": 7946,
                      "nodeType": "ExpressionStatement",
                      "src": "12702:11:38"
                    },
                    {
                      "expression": {
                        "id": 7952,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 7948,
                                "name": "_lastFeedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7926,
                                "src": "12739:11:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 7947,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "12728:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 7949,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12728:23:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 7950,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberLocation": "12752:5:38",
                          "memberName": "index",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12419,
                          "src": "12728:29:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "id": 7951,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7914,
                          "src": "12760:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "12728:38:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 7953,
                      "nodeType": "ExpressionStatement",
                      "src": "12728:38:38"
                    },
                    {
                      "expression": {
                        "id": 7959,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "delete",
                        "prefix": true,
                        "src": "12781:34:38",
                        "subExpression": {
                          "baseExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7954,
                                "name": "__storage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12441,
                                "src": "12788:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                }
                              },
                              "id": 7955,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12788:11:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                              }
                            },
                            "id": 7956,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12800:7:38",
                            "memberName": "records",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12412,
                            "src": "12788:19:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                              "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record storage ref)"
                            }
                          },
                          "id": 7958,
                          "indexExpression": {
                            "id": 7957,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7892,
                            "src": "12808:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "nodeType": "IndexAccess",
                          "src": "12788:27:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage",
                            "typeString": "struct WitnetPriceFeedsData.Record storage ref"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$__$",
                          "typeString": "tuple()"
                        }
                      },
                      "id": 7960,
                      "nodeType": "ExpressionStatement",
                      "src": "12781:34:38"
                    }
                  ]
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 7963,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7892,
                        "src": "12860:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 7962,
                      "name": "WitnetFeedDeleted",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12837,
                      "src": "12842:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes4_$returns$__$",
                        "typeString": "function (bytes4)"
                      }
                    },
                    "id": 7964,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12842:25:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7965,
                  "nodeType": "EmitStatement",
                  "src": "12837:30:38"
                }
              ]
            },
            "functionSelector": "86ac03e0",
            "id": 7967,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 7889,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 7888,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "12306:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "12306:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "12306:9:38"
              }
            ],
            "name": "deleteFeed",
            "nameLocation": "12216:10:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7887,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12269:8:38"
            },
            "parameters": {
              "id": 7886,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7885,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "12243:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "12227:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7884,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12227:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12226:25:38"
            },
            "returnParameters": {
              "id": 7890,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12321:0:38"
            },
            "scope": 9169,
            "src": "12207:668:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13028
            ],
            "body": {
              "id": 8019,
              "nodeType": "Block",
              "src": "12974:283:38",
              "statements": [
                {
                  "assignments": [
                    7977
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7977,
                      "mutability": "mutable",
                      "name": "__ids",
                      "nameLocation": "13002:5:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8019,
                      "src": "12985:22:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7975,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "12985:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 7976,
                        "nodeType": "ArrayTypeName",
                        "src": "12985:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7981,
                  "initialValue": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 7978,
                        "name": "__storage",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12441,
                        "src": "13010:9:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                          "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                        }
                      },
                      "id": 7979,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13010:11:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                      }
                    },
                    "id": 7980,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "13022:3:38",
                    "memberName": "ids",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12407,
                    "src": "13010:15:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                      "typeString": "bytes4[] storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12985:40:38"
                },
                {
                  "body": {
                    "id": 8017,
                    "nodeType": "Block",
                    "src": "13083:167:38",
                    "statements": [
                      {
                        "assignments": [
                          7994
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7994,
                            "mutability": "mutable",
                            "name": "_feedId",
                            "nameLocation": "13105:7:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8017,
                            "src": "13098:14:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            },
                            "typeName": {
                              "id": 7993,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "13098:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8000,
                        "initialValue": {
                          "baseExpression": {
                            "id": 7995,
                            "name": "__ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7977,
                            "src": "13115:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                              "typeString": "bytes4[] storage pointer"
                            }
                          },
                          "id": 7999,
                          "indexExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 7998,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 7996,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7983,
                              "src": "13121:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 7997,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13127:1:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "13121:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13115:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "13098:31:38"
                      },
                      {
                        "expression": {
                          "id": 8006,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "delete",
                          "prefix": true,
                          "src": "13144:35:38",
                          "subExpression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 8001,
                                  "name": "__storage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12441,
                                  "src": "13151:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                  }
                                },
                                "id": 8002,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13151:11:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                }
                              },
                              "id": 8003,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13163:7:38",
                              "memberName": "records",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12412,
                              "src": "13151:19:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                                "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record storage ref)"
                              }
                            },
                            "id": 8005,
                            "indexExpression": {
                              "id": 8004,
                              "name": "_feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7994,
                              "src": "13171:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "13151:28:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage",
                              "typeString": "struct WitnetPriceFeedsData.Record storage ref"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8007,
                        "nodeType": "ExpressionStatement",
                        "src": "13144:35:38"
                      },
                      {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 8008,
                              "name": "__ids",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7977,
                              "src": "13181:5:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                                "typeString": "bytes4[] storage pointer"
                              }
                            },
                            "id": 8010,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13187:3:38",
                            "memberName": "pop",
                            "nodeType": "MemberAccess",
                            "src": "13181:9:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer)"
                            }
                          },
                          "id": 8011,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13181:11:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8012,
                        "nodeType": "ExpressionStatement",
                        "src": "13181:11:38"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "id": 8014,
                              "name": "_feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7994,
                              "src": "13230:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "id": 8013,
                            "name": "WitnetFeedDeleted",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12837,
                            "src": "13212:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes4_$returns$__$",
                              "typeString": "function (bytes4)"
                            }
                          },
                          "id": 8015,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13212:26:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8016,
                        "nodeType": "EmitStatement",
                        "src": "13207:31:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7989,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 7987,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7983,
                      "src": "13066:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 7988,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13072:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "13066:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8018,
                  "initializationExpression": {
                    "assignments": [
                      7983
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 7983,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "13046:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 8018,
                        "src": "13041:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 7982,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "13041:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 7986,
                    "initialValue": {
                      "expression": {
                        "id": 7984,
                        "name": "__ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7977,
                        "src": "13052:5:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[] storage pointer"
                        }
                      },
                      "id": 7985,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13058:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "13052:12:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "13041:23:38"
                  },
                  "isSimpleCounterLoop": false,
                  "loopExpression": {
                    "expression": {
                      "id": 7991,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "--",
                      "prefix": false,
                      "src": "13075:6:38",
                      "subExpression": {
                        "id": 7990,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7983,
                        "src": "13075:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7992,
                    "nodeType": "ExpressionStatement",
                    "src": "13075:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "13036:214:38"
                }
              ]
            },
            "functionSelector": "e1c9e3c0",
            "id": 8020,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 7971,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 7970,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "12959:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "12959:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "12959:9:38"
              }
            ],
            "name": "deleteFeeds",
            "nameLocation": "12892:11:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7969,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12923:8:38"
            },
            "parameters": {
              "id": 7968,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12903:2:38"
            },
            "returnParameters": {
              "id": 7972,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12974:0:38"
            },
            "scope": 9169,
            "src": "12883:374:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13043
            ],
            "body": {
              "id": 8032,
              "nodeType": "Block",
              "src": "13410:75:38",
              "statements": [
                {
                  "expression": {
                    "id": 8030,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8028,
                      "name": "__baseFeeOverheadPercentage",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7075,
                      "src": "13421:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 8029,
                      "name": "_baseFeeOverheadPercentage",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8022,
                      "src": "13451:26:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "src": "13421:56:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "id": 8031,
                  "nodeType": "ExpressionStatement",
                  "src": "13421:56:38"
                }
              ]
            },
            "functionSelector": "b8d38c96",
            "id": 8033,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8026,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8025,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13394:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "13394:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "13394:9:38"
              }
            ],
            "name": "settleBaseFeeOverheadPercentage",
            "nameLocation": "13274:31:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8024,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13358:8:38"
            },
            "parameters": {
              "id": 8023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8022,
                  "mutability": "mutable",
                  "name": "_baseFeeOverheadPercentage",
                  "nameLocation": "13313:26:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8033,
                  "src": "13306:33:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 8021,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "13306:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13305:35:38"
            },
            "returnParameters": {
              "id": 8027,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13410:0:38"
            },
            "scope": 9169,
            "src": "13265:220:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13049
            ],
            "body": {
              "id": 8057,
              "nodeType": "Block",
              "src": "13612:164:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 8043,
                            "name": "defaultSLA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8036,
                            "src": "13631:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                              "typeString": "struct WitnetV2.RadonSLA calldata"
                            }
                          },
                          "id": 8044,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13642:7:38",
                          "memberName": "isValid",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23548,
                          "src": "13631:18:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonSLA_$23503_calldata_ptr_$returns$_t_bool_$attached_to$_t_struct$_RadonSLA_$23503_calldata_ptr_$",
                            "typeString": "function (struct WitnetV2.RadonSLA calldata) pure returns (bool)"
                          }
                        },
                        "id": 8045,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13631:20:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a20696e76616c696420534c41",
                        "id": 8046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13653:31:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2c72a06d770ed83146674af5322b50df4d38bad4fa039f732a7a992f9582b941",
                          "typeString": "literal_string \"WitnetPriceFeeds: invalid SLA\""
                        },
                        "value": "WitnetPriceFeeds: invalid SLA"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2c72a06d770ed83146674af5322b50df4d38bad4fa039f732a7a992f9582b941",
                          "typeString": "literal_string \"WitnetPriceFeeds: invalid SLA\""
                        }
                      ],
                      "id": 8042,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "13623:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13623:62:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8048,
                  "nodeType": "ExpressionStatement",
                  "src": "13623:62:38"
                },
                {
                  "expression": {
                    "id": 8051,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8049,
                      "name": "__defaultRadonSLA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7073,
                      "src": "13696:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                        "typeString": "struct WitnetV2.RadonSLA storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 8050,
                      "name": "defaultSLA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8036,
                      "src": "13716:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                        "typeString": "struct WitnetV2.RadonSLA calldata"
                      }
                    },
                    "src": "13696:30:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                      "typeString": "struct WitnetV2.RadonSLA storage ref"
                    }
                  },
                  "id": 8052,
                  "nodeType": "ExpressionStatement",
                  "src": "13696:30:38"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 8054,
                        "name": "defaultSLA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8036,
                        "src": "13757:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                          "typeString": "struct WitnetV2.RadonSLA calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                          "typeString": "struct WitnetV2.RadonSLA calldata"
                        }
                      ],
                      "id": 8053,
                      "name": "WitnetRadonSLA",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12854,
                      "src": "13742:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$__$",
                        "typeString": "function (struct WitnetV2.RadonSLA memory)"
                      }
                    },
                    "id": 8055,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13742:26:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8056,
                  "nodeType": "EmitStatement",
                  "src": "13737:31:38"
                }
              ]
            },
            "functionSelector": "fae91a51",
            "id": 8058,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8040,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8039,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13597:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "13597:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "13597:9:38"
              }
            ],
            "name": "settleDefaultRadonSLA",
            "nameLocation": "13502:21:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8038,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13572:8:38"
            },
            "parameters": {
              "id": 8037,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8036,
                  "mutability": "mutable",
                  "name": "defaultSLA",
                  "nameLocation": "13551:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8058,
                  "src": "13524:37:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$23503_calldata_ptr",
                    "typeString": "struct WitnetV2.RadonSLA"
                  },
                  "typeName": {
                    "id": 8035,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8034,
                      "name": "WitnetV2.RadonSLA",
                      "nameLocations": [
                        "13524:8:38",
                        "13533:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23503,
                      "src": "13524:17:38"
                    },
                    "referencedDeclaration": 23503,
                    "src": "13524:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                      "typeString": "struct WitnetV2.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13523:39:38"
            },
            "returnParameters": {
              "id": 8041,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13612:0:38"
            },
            "scope": 9169,
            "src": "13493:283:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13056
            ],
            "body": {
              "id": 8162,
              "nodeType": "Block",
              "src": "13906:823:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        },
                        "id": 8075,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 8072,
                              "name": "radHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8062,
                              "src": "13983:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 8069,
                                "name": "registry",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7780,
                                "src": "13939:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_WitnetRequestBytecodes_$849_$",
                                  "typeString": "function () view returns (contract WitnetRequestBytecodes)"
                                }
                              },
                              "id": 8070,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13939:10:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                                "typeString": "contract WitnetRequestBytecodes"
                              }
                            },
                            "id": 8071,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13950:32:38",
                            "memberName": "lookupRadonRequestResultDataType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13905,
                            "src": "13939:43:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_RadonDataTypes_$16432_$",
                              "typeString": "function (bytes32) view external returns (enum Witnet.RadonDataTypes)"
                            }
                          },
                          "id": 8073,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13939:52:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "id": 8074,
                          "name": "dataType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 650,
                          "src": "13995:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "src": "13939:64:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a2062616420726573756c7420646174612074797065",
                        "id": 8076,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14018:40:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_11157465577087b793571f8ece7e9e256844fed1020409c47f8856e063b485e4",
                          "typeString": "literal_string \"WitnetPriceFeeds: bad result data type\""
                        },
                        "value": "WitnetPriceFeeds: bad result data type"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_11157465577087b793571f8ece7e9e256844fed1020409c47f8856e063b485e4",
                          "typeString": "literal_string \"WitnetPriceFeeds: bad result data type\""
                        }
                      ],
                      "id": 8068,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "13917:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8077,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13917:152:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8078,
                  "nodeType": "ExpressionStatement",
                  "src": "13917:152:38"
                },
                {
                  "assignments": [
                    8080
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8080,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "14087:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8162,
                      "src": "14080:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 8079,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "14080:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8084,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8082,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8060,
                        "src": "14101:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 8081,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7370,
                      "src": "14096:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 8083,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14096:13:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14080:29:38"
                },
                {
                  "assignments": [
                    8087
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8087,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "14135:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8162,
                      "src": "14120:23:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record"
                      },
                      "typeName": {
                        "id": 8086,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 8085,
                          "name": "Record",
                          "nameLocations": [
                            "14120:6:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 12432,
                          "src": "14120:6:38"
                        },
                        "referencedDeclaration": 12432,
                        "src": "14120:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8091,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8089,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8080,
                        "src": "14157:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8088,
                      "name": "__records_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12457,
                      "src": "14146:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                      }
                    },
                    "id": 8090,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14146:18:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14120:44:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8095,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 8092,
                        "name": "__record",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8087,
                        "src": "14179:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                        }
                      },
                      "id": 8093,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14188:5:38",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12419,
                      "src": "14179:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 8094,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "14197:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "14179:19:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 8138,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 8135,
                          "name": "__record",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8087,
                          "src": "14498:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                          }
                        },
                        "id": 8136,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "14507:7:38",
                        "memberName": "radHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12425,
                        "src": "14498:16:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "id": 8137,
                        "name": "radHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8062,
                        "src": "14518:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "14498:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 8155,
                    "nodeType": "IfStatement",
                    "src": "14494:178:38",
                    "trueBody": {
                      "id": 8154,
                      "nodeType": "Block",
                      "src": "14527:145:38",
                      "statements": [
                        {
                          "expression": {
                            "id": 8143,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 8139,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8087,
                                "src": "14591:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                }
                              },
                              "id": 8141,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "14600:7:38",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12425,
                              "src": "14591:16:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "id": 8142,
                              "name": "radHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8062,
                              "src": "14610:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "src": "14591:26:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 8144,
                          "nodeType": "ExpressionStatement",
                          "src": "14591:26:38"
                        },
                        {
                          "expression": {
                            "id": 8152,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 8145,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8087,
                                "src": "14632:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                }
                              },
                              "id": 8147,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "14641:6:38",
                              "memberName": "solver",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12427,
                              "src": "14632:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 8150,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "14658:1:38",
                                  "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": 8149,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "14650:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 8148,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "14650:7:38",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 8151,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14650:10:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "14632:28:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 8153,
                          "nodeType": "ExpressionStatement",
                          "src": "14632:28:38"
                        }
                      ]
                    }
                  },
                  "id": 8156,
                  "nodeType": "IfStatement",
                  "src": "14175:497:38",
                  "trueBody": {
                    "id": 8134,
                    "nodeType": "Block",
                    "src": "14200:288:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8100,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8096,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8087,
                              "src": "14248:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8098,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "14257:7:38",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12415,
                            "src": "14248:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 8099,
                            "name": "caption",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8060,
                            "src": "14267:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_calldata_ptr",
                              "typeString": "string calldata"
                            }
                          },
                          "src": "14248:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "id": 8101,
                        "nodeType": "ExpressionStatement",
                        "src": "14248:26:38"
                      },
                      {
                        "expression": {
                          "id": 8108,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8102,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8087,
                              "src": "14289:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8104,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "14298:8:38",
                            "memberName": "decimals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12417,
                            "src": "14289:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 8106,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8060,
                                "src": "14326:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              ],
                              "id": 8105,
                              "name": "_validateCaption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8900,
                              "src": "14309:16:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_string_calldata_ptr_$returns$_t_uint8_$",
                                "typeString": "function (string calldata) view returns (uint8)"
                              }
                            },
                            "id": 8107,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14309:25:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "14289:45:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "id": 8109,
                        "nodeType": "ExpressionStatement",
                        "src": "14289:45:38"
                      },
                      {
                        "expression": {
                          "id": 8119,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8110,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8087,
                              "src": "14349:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8112,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "14358:5:38",
                            "memberName": "index",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12419,
                            "src": "14349:14:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 8118,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 8113,
                                    "name": "__storage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12441,
                                    "src": "14366:9:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                      "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                    }
                                  },
                                  "id": 8114,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "14366:11:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                    "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                  }
                                },
                                "id": 8115,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "14378:3:38",
                                "memberName": "ids",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12407,
                                "src": "14366:15:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                  "typeString": "bytes4[] storage ref"
                                }
                              },
                              "id": 8116,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14382:6:38",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "14366:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 8117,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "14391:1:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "14366:26:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "14349:43:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8120,
                        "nodeType": "ExpressionStatement",
                        "src": "14349:43:38"
                      },
                      {
                        "expression": {
                          "id": 8125,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8121,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8087,
                              "src": "14407:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8123,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "14416:7:38",
                            "memberName": "radHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12425,
                            "src": "14407:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 8124,
                            "name": "radHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8062,
                            "src": "14426:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "14407:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 8126,
                        "nodeType": "ExpressionStatement",
                        "src": "14407:26:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 8131,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8080,
                              "src": "14469:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 8127,
                                  "name": "__storage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12441,
                                  "src": "14448:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                  }
                                },
                                "id": 8128,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "14448:11:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                }
                              },
                              "id": 8129,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14460:3:38",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12407,
                              "src": "14448:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 8130,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14464:4:38",
                            "memberName": "push",
                            "nodeType": "MemberAccess",
                            "src": "14448:20:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$_t_bytes4_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer,bytes4)"
                            }
                          },
                          "id": 8132,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14448:28:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8133,
                        "nodeType": "ExpressionStatement",
                        "src": "14448:28:38"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 8158,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8080,
                        "src": "14705:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 8159,
                        "name": "radHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8062,
                        "src": "14713:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8157,
                      "name": "WitnetFeedSettled",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12843,
                      "src": "14687:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes4_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes4,bytes32)"
                      }
                    },
                    "id": 8160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14687:34:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8161,
                  "nodeType": "EmitStatement",
                  "src": "14682:39:38"
                }
              ]
            },
            "functionSelector": "84292f07",
            "id": 8163,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8066,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8065,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "13891:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "13891:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "13891:9:38"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "13797:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8064,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13866:8:38"
            },
            "parameters": {
              "id": 8063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8060,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "13831:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "13815:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 8059,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13815:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8062,
                  "mutability": "mutable",
                  "name": "radHash",
                  "nameLocation": "13848:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "13840:15:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8061,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13840:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13814:42:38"
            },
            "returnParameters": {
              "id": 8067,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13906:0:38"
            },
            "scope": 9169,
            "src": "13788:941:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13064
            ],
            "body": {
              "id": 8181,
              "nodeType": "Block",
              "src": "14863:64:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 8175,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8165,
                        "src": "14892:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 8176,
                            "name": "request",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8168,
                            "src": "14901:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitnetRequest_$826",
                              "typeString": "contract WitnetRequest"
                            }
                          },
                          "id": 8177,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14909:7:38",
                          "memberName": "radHash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 825,
                          "src": "14901:15:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 8178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14901:17:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8174,
                      "name": "settleFeedRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8163,
                      "src": "14874:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_bytes32_$returns$__$",
                        "typeString": "function (string calldata,bytes32)"
                      }
                    },
                    "id": 8179,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14874:45:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8180,
                  "nodeType": "ExpressionStatement",
                  "src": "14874:45:38"
                }
              ]
            },
            "functionSelector": "ac82c608",
            "id": 8182,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8172,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8171,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "14848:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "14848:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "14848:9:38"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "14746:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8170,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14821:8:38"
            },
            "parameters": {
              "id": 8169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8165,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "14780:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8182,
                  "src": "14764:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 8164,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14764:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8168,
                  "mutability": "mutable",
                  "name": "request",
                  "nameLocation": "14803:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8182,
                  "src": "14789:21:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequest_$826",
                    "typeString": "contract WitnetRequest"
                  },
                  "typeName": {
                    "id": 8167,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8166,
                      "name": "WitnetRequest",
                      "nameLocations": [
                        "14789:13:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 826,
                      "src": "14789:13:38"
                    },
                    "referencedDeclaration": 826,
                    "src": "14789:13:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequest_$826",
                      "typeString": "contract WitnetRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14763:48:38"
            },
            "returnParameters": {
              "id": 8173,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14863:0:38"
            },
            "scope": 9169,
            "src": "14737:190:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13076
            ],
            "body": {
              "id": 8205,
              "nodeType": "Block",
              "src": "15146:80:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 8198,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8184,
                        "src": "15175:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 8201,
                            "name": "args",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8191,
                            "src": "15212:4:38",
                            "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": 8199,
                            "name": "template",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8187,
                            "src": "15184:8:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitnetRequestTemplate_$1005",
                              "typeString": "contract WitnetRequestTemplate"
                            }
                          },
                          "id": 8200,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "15193:18:38",
                          "memberName": "verifyRadonRequest",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1004,
                          "src": "15184:27:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (string memory[] memory[] memory) external returns (bytes32)"
                          }
                        },
                        "id": 8202,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15184:33:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8197,
                      "name": "settleFeedRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8163,
                      "src": "15157:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_bytes32_$returns$__$",
                        "typeString": "function (string calldata,bytes32)"
                      }
                    },
                    "id": 8203,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15157:61:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8204,
                  "nodeType": "ExpressionStatement",
                  "src": "15157:61:38"
                }
              ]
            },
            "functionSelector": "ff24fb4f",
            "id": 8206,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8195,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8194,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "15131:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "15131:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "15131:9:38"
              }
            ],
            "name": "settleFeedRequest",
            "nameLocation": "14944:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8193,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15104:8:38"
            },
            "parameters": {
              "id": 8192,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8184,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "14992:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8206,
                  "src": "14976:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 8183,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14976:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8187,
                  "mutability": "mutable",
                  "name": "template",
                  "nameLocation": "15036:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8206,
                  "src": "15014:30:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestTemplate_$1005",
                    "typeString": "contract WitnetRequestTemplate"
                  },
                  "typeName": {
                    "id": 8186,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8185,
                      "name": "WitnetRequestTemplate",
                      "nameLocations": [
                        "15014:21:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 1005,
                      "src": "15014:21:38"
                    },
                    "referencedDeclaration": 1005,
                    "src": "15014:21:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestTemplate_$1005",
                      "typeString": "contract WitnetRequestTemplate"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8191,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "15079:4:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8206,
                  "src": "15059:24:38",
                  "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": 8188,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15059:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 8189,
                      "nodeType": "ArrayTypeName",
                      "src": "15059:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 8190,
                    "nodeType": "ArrayTypeName",
                    "src": "15059:10:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14961:133:38"
            },
            "returnParameters": {
              "id": 8196,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15146:0:38"
            },
            "scope": 9169,
            "src": "14935:291:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13086
            ],
            "body": {
              "id": 8395,
              "nodeType": "Block",
              "src": "15426:2127:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8225,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 8220,
                          "name": "solver",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8210,
                          "src": "15459:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 8223,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15477:1:38",
                              "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": 8222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15469:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 8221,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "15469:7:38",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 8224,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15469:10:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "15459:20:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5769746e6574507269636546656564733a206e6f20736f6c7665722061646472657373",
                        "id": 8226,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15494:37:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_28ad59ab3f0f7b58d03f5e9d0886534278115562be34d295857cdff4ae673617",
                          "typeString": "literal_string \"WitnetPriceFeeds: no solver address\""
                        },
                        "value": "WitnetPriceFeeds: no solver address"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_28ad59ab3f0f7b58d03f5e9d0886534278115562be34d295857cdff4ae673617",
                          "typeString": "literal_string \"WitnetPriceFeeds: no solver address\""
                        }
                      ],
                      "id": 8219,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "15437:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8227,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15437:105:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8228,
                  "nodeType": "ExpressionStatement",
                  "src": "15437:105:38"
                },
                {
                  "assignments": [
                    8230
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8230,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "15560:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8395,
                      "src": "15553:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 8229,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "15553:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8234,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8232,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8208,
                        "src": "15574:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 8231,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7370,
                      "src": "15569:4:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 8233,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15569:13:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15553:29:38"
                },
                {
                  "assignments": [
                    8237
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8237,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "15616:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8395,
                      "src": "15601:23:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record"
                      },
                      "typeName": {
                        "id": 8236,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 8235,
                          "name": "Record",
                          "nameLocations": [
                            "15601:6:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 12432,
                          "src": "15601:6:38"
                        },
                        "referencedDeclaration": 12432,
                        "src": "15601:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8241,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8239,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8230,
                        "src": "15638:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8238,
                      "name": "__records_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12457,
                      "src": "15627:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                      }
                    },
                    "id": 8240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15627:18:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15601:44:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 8242,
                        "name": "__record",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8237,
                        "src": "15660:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                        }
                      },
                      "id": 8243,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15669:5:38",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12419,
                      "src": "15660:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 8244,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15678:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "15660:19:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 8288,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 8285,
                          "name": "__record",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8237,
                          "src": "15977:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                          }
                        },
                        "id": 8286,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "15986:6:38",
                        "memberName": "solver",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12427,
                        "src": "15977:15:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "id": 8287,
                        "name": "solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8210,
                        "src": "15996:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "15977:25:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 8302,
                    "nodeType": "IfStatement",
                    "src": "15973:166:38",
                    "trueBody": {
                      "id": 8301,
                      "nodeType": "Block",
                      "src": "16004:135:38",
                      "statements": [
                        {
                          "expression": {
                            "id": 8293,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 8289,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8237,
                                "src": "16068:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                }
                              },
                              "id": 8291,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "16077:7:38",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12425,
                              "src": "16068:16:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "hexValue": "30",
                              "id": 8292,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16087:1:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "16068:20:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 8294,
                          "nodeType": "ExpressionStatement",
                          "src": "16068:20:38"
                        },
                        {
                          "expression": {
                            "id": 8299,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 8295,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8237,
                                "src": "16103:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                }
                              },
                              "id": 8297,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "16112:6:38",
                              "memberName": "solver",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12427,
                              "src": "16103:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "id": 8298,
                              "name": "solver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8210,
                              "src": "16121:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "16103:24:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 8300,
                          "nodeType": "ExpressionStatement",
                          "src": "16103:24:38"
                        }
                      ]
                    }
                  },
                  "id": 8303,
                  "nodeType": "IfStatement",
                  "src": "15656:483:38",
                  "trueBody": {
                    "id": 8284,
                    "nodeType": "Block",
                    "src": "15681:286:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8250,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8246,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8237,
                              "src": "15729:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8248,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "15738:7:38",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12415,
                            "src": "15729:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 8249,
                            "name": "caption",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8208,
                            "src": "15748:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_calldata_ptr",
                              "typeString": "string calldata"
                            }
                          },
                          "src": "15729:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "id": 8251,
                        "nodeType": "ExpressionStatement",
                        "src": "15729:26:38"
                      },
                      {
                        "expression": {
                          "id": 8258,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8252,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8237,
                              "src": "15770:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8254,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "15779:8:38",
                            "memberName": "decimals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12417,
                            "src": "15770:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 8256,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8208,
                                "src": "15807:7:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              ],
                              "id": 8255,
                              "name": "_validateCaption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8900,
                              "src": "15790:16:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_string_calldata_ptr_$returns$_t_uint8_$",
                                "typeString": "function (string calldata) view returns (uint8)"
                              }
                            },
                            "id": 8257,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15790:25:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "15770:45:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "id": 8259,
                        "nodeType": "ExpressionStatement",
                        "src": "15770:45:38"
                      },
                      {
                        "expression": {
                          "id": 8269,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8260,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8237,
                              "src": "15830:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8262,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "15839:5:38",
                            "memberName": "index",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12419,
                            "src": "15830:14:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 8268,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 8263,
                                    "name": "__storage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12441,
                                    "src": "15847:9:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                      "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                    }
                                  },
                                  "id": 8264,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "15847:11:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                    "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                  }
                                },
                                "id": 8265,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15859:3:38",
                                "memberName": "ids",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12407,
                                "src": "15847:15:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                  "typeString": "bytes4[] storage ref"
                                }
                              },
                              "id": 8266,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15863:6:38",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "15847:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 8267,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15872:1:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "15847:26:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "15830:43:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8270,
                        "nodeType": "ExpressionStatement",
                        "src": "15830:43:38"
                      },
                      {
                        "expression": {
                          "id": 8275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 8271,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8237,
                              "src": "15888:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                              }
                            },
                            "id": 8273,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "15897:6:38",
                            "memberName": "solver",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12427,
                            "src": "15888:15:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 8274,
                            "name": "solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8210,
                            "src": "15906:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "15888:24:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8276,
                        "nodeType": "ExpressionStatement",
                        "src": "15888:24:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 8281,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8230,
                              "src": "15948:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 8277,
                                  "name": "__storage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12441,
                                  "src": "15927:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                                  }
                                },
                                "id": 8278,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15927:11:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                                  "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                                }
                              },
                              "id": 8279,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15939:3:38",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12407,
                              "src": "15927:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 8280,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15943:4:38",
                            "memberName": "push",
                            "nodeType": "MemberAccess",
                            "src": "15927:20:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$_t_bytes4_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer,bytes4)"
                            }
                          },
                          "id": 8282,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15927:28:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8283,
                        "nodeType": "ExpressionStatement",
                        "src": "15927:28:38"
                      }
                    ]
                  }
                },
                {
                  "id": 8345,
                  "nodeType": "Block",
                  "src": "16202:639:38",
                  "statements": [
                    {
                      "assignments": [
                        8305,
                        8307
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 8305,
                          "mutability": "mutable",
                          "name": "_success",
                          "nameLocation": "16287:8:38",
                          "nodeType": "VariableDeclaration",
                          "scope": 8345,
                          "src": "16282:13:38",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "typeName": {
                            "id": 8304,
                            "name": "bool",
                            "nodeType": "ElementaryTypeName",
                            "src": "16282:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "visibility": "internal"
                        },
                        {
                          "constant": false,
                          "id": 8307,
                          "mutability": "mutable",
                          "name": "_reason",
                          "nameLocation": "16310:7:38",
                          "nodeType": "VariableDeclaration",
                          "scope": 8345,
                          "src": "16297:20:38",
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes"
                          },
                          "typeName": {
                            "id": 8306,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "16297:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 8319,
                      "initialValue": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 8312,
                                    "name": "IWitnetPriceSolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13485,
                                    "src": "16382:18:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                      "typeString": "type(contract IWitnetPriceSolver)"
                                    }
                                  },
                                  "id": 8313,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "16401:8:38",
                                  "memberName": "validate",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 13484,
                                  "src": "16382:27:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes4_$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$",
                                    "typeString": "function IWitnetPriceSolver.validate(bytes4,string calldata[] calldata)"
                                  }
                                },
                                "id": 8314,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "16410:8:38",
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "src": "16382:36:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 8315,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8230,
                                "src": "16437:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 8316,
                                "name": "deps",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8213,
                                "src": "16462:4:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata"
                                }
                              ],
                              "expression": {
                                "id": 8310,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "16341:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 8311,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "16345:18:38",
                              "memberName": "encodeWithSelector",
                              "nodeType": "MemberAccess",
                              "src": "16341:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (bytes4) pure returns (bytes memory)"
                              }
                            },
                            "id": 8317,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16341:140:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 8308,
                            "name": "solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8210,
                            "src": "16321:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 8309,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16328:12:38",
                          "memberName": "delegatecall",
                          "nodeType": "MemberAccess",
                          "src": "16321:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) returns (bool,bytes memory)"
                          }
                        },
                        "id": 8318,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16321:161:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "tuple(bool,bytes memory)"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "16281:201:38"
                    },
                    {
                      "condition": {
                        "id": 8321,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "16501:9:38",
                        "subExpression": {
                          "id": 8320,
                          "name": "_success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8305,
                          "src": "16502:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 8344,
                      "nodeType": "IfStatement",
                      "src": "16497:333:38",
                      "trueBody": {
                        "id": 8343,
                        "nodeType": "Block",
                        "src": "16512:318:38",
                        "statements": [
                          {
                            "AST": {
                              "nativeSrc": "16540:68:38",
                              "nodeType": "YulBlock",
                              "src": "16540:68:38",
                              "statements": [
                                {
                                  "nativeSrc": "16563:26:38",
                                  "nodeType": "YulAssignment",
                                  "src": "16563:26:38",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "_reason",
                                        "nativeSrc": "16578:7:38",
                                        "nodeType": "YulIdentifier",
                                        "src": "16578:7:38"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "16587:1:38",
                                        "nodeType": "YulLiteral",
                                        "src": "16587:1:38",
                                        "type": "",
                                        "value": "4"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "16574:3:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "16574:3:38"
                                    },
                                    "nativeSrc": "16574:15:38",
                                    "nodeType": "YulFunctionCall",
                                    "src": "16574:15:38"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "_reason",
                                      "nativeSrc": "16563:7:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "16563:7:38"
                                    }
                                  ]
                                }
                              ]
                            },
                            "evmVersion": "paris",
                            "externalReferences": [
                              {
                                "declaration": 8307,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "16563:7:38",
                                "valueSize": 1
                              },
                              {
                                "declaration": 8307,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "16578:7:38",
                                "valueSize": 1
                              }
                            ],
                            "id": 8322,
                            "nodeType": "InlineAssembly",
                            "src": "16531:77:38"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "5769746e657450726963654665656455706772616461626c653a20736f6c7665722076616c69646174696f6e206661696c65643a20",
                                          "id": 8328,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "16679:55:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_dc241c4a500633846bfe69d4463729475c0bff8d6bd4288914a8115310cb4ae0",
                                            "typeString": "literal_string \"WitnetPriceFeedUpgradable: solver validation failed: \""
                                          },
                                          "value": "WitnetPriceFeedUpgradable: solver validation failed: "
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 8333,
                                                  "name": "_reason",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 8307,
                                                  "src": "16775:7:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  }
                                                },
                                                {
                                                  "components": [
                                                    {
                                                      "id": 8335,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "nodeType": "ElementaryTypeNameExpression",
                                                      "src": "16784:6:38",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                        "typeString": "type(string storage pointer)"
                                                      },
                                                      "typeName": {
                                                        "id": 8334,
                                                        "name": "string",
                                                        "nodeType": "ElementaryTypeName",
                                                        "src": "16784:6:38",
                                                        "typeDescriptions": {}
                                                      }
                                                    }
                                                  ],
                                                  "id": 8336,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "16783:8:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 8331,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "16764:3:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 8332,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "16768:6:38",
                                                "memberName": "decode",
                                                "nodeType": "MemberAccess",
                                                "src": "16764:10:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                  "typeString": "function () pure"
                                                }
                                              },
                                              "id": 8337,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "16764:28:38",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 8330,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "16757:6:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 8329,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "16757:6:38",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 8338,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "16757:36:38",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_dc241c4a500633846bfe69d4463729475c0bff8d6bd4288914a8115310cb4ae0",
                                            "typeString": "literal_string \"WitnetPriceFeedUpgradable: solver validation failed: \""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 8326,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "16640:3:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 8327,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "16644:12:38",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "16640:16:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 8339,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "16640:172:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 8325,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "16633:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 8324,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "16633:6:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 8340,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "16633:180:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 8323,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967277,
                                  4294967277
                                ],
                                "referencedDeclaration": 4294967277,
                                "src": "16626:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 8341,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "16626:188:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 8342,
                            "nodeType": "ExpressionStatement",
                            "src": "16626:188:38"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "id": 8389,
                  "nodeType": "Block",
                  "src": "16886:605:38",
                  "statements": [
                    {
                      "assignments": [
                        8347,
                        8349
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 8347,
                          "mutability": "mutable",
                          "name": "_success",
                          "nameLocation": "16974:8:38",
                          "nodeType": "VariableDeclaration",
                          "scope": 8389,
                          "src": "16969:13:38",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "typeName": {
                            "id": 8346,
                            "name": "bool",
                            "nodeType": "ElementaryTypeName",
                            "src": "16969:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "visibility": "internal"
                        },
                        {
                          "constant": false,
                          "id": 8349,
                          "mutability": "mutable",
                          "name": "_reason",
                          "nameLocation": "16997:7:38",
                          "nodeType": "VariableDeclaration",
                          "scope": 8389,
                          "src": "16984:20:38",
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes"
                          },
                          "typeName": {
                            "id": 8348,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "16984:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 8363,
                      "initialValue": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 8357,
                                    "name": "IWitnetPriceSolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13485,
                                    "src": "17074:18:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                      "typeString": "type(contract IWitnetPriceSolver)"
                                    }
                                  },
                                  "id": 8358,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "17093:5:38",
                                  "memberName": "solve",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 13471,
                                  "src": "17074:24:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$13453_memory_ptr_$",
                                    "typeString": "function IWitnetPriceSolver.solve(bytes4) view returns (struct IWitnetPriceSolver.Price memory)"
                                  }
                                },
                                "id": 8359,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "17099:8:38",
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "src": "17074:33:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 8360,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8230,
                                "src": "17126:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "expression": {
                                "id": 8355,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "17033:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 8356,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "17037:18:38",
                              "memberName": "encodeWithSelector",
                              "nodeType": "MemberAccess",
                              "src": "17033:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (bytes4) pure returns (bytes memory)"
                              }
                            },
                            "id": 8361,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17033:114:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "id": 8352,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "17016:4:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                                  "typeString": "contract WitnetPriceFeedsDefault"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                                  "typeString": "contract WitnetPriceFeedsDefault"
                                }
                              ],
                              "id": 8351,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "17008:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 8350,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "17008:7:38",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 8353,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17008:13:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 8354,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17022:10:38",
                          "memberName": "staticcall",
                          "nodeType": "MemberAccess",
                          "src": "17008:24:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                          }
                        },
                        "id": 8362,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17008:140:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "tuple(bool,bytes memory)"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "16968:180:38"
                    },
                    {
                      "condition": {
                        "id": 8365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "17167:9:38",
                        "subExpression": {
                          "id": 8364,
                          "name": "_success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8347,
                          "src": "17168:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 8388,
                      "nodeType": "IfStatement",
                      "src": "17163:317:38",
                      "trueBody": {
                        "id": 8387,
                        "nodeType": "Block",
                        "src": "17178:302:38",
                        "statements": [
                          {
                            "AST": {
                              "nativeSrc": "17206:68:38",
                              "nodeType": "YulBlock",
                              "src": "17206:68:38",
                              "statements": [
                                {
                                  "nativeSrc": "17229:26:38",
                                  "nodeType": "YulAssignment",
                                  "src": "17229:26:38",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "_reason",
                                        "nativeSrc": "17244:7:38",
                                        "nodeType": "YulIdentifier",
                                        "src": "17244:7:38"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "17253:1:38",
                                        "nodeType": "YulLiteral",
                                        "src": "17253:1:38",
                                        "type": "",
                                        "value": "4"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "17240:3:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "17240:3:38"
                                    },
                                    "nativeSrc": "17240:15:38",
                                    "nodeType": "YulFunctionCall",
                                    "src": "17240:15:38"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "_reason",
                                      "nativeSrc": "17229:7:38",
                                      "nodeType": "YulIdentifier",
                                      "src": "17229:7:38"
                                    }
                                  ]
                                }
                              ]
                            },
                            "evmVersion": "paris",
                            "externalReferences": [
                              {
                                "declaration": 8349,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "17229:7:38",
                                "valueSize": 1
                              },
                              {
                                "declaration": 8349,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "17244:7:38",
                                "valueSize": 1
                              }
                            ],
                            "id": 8366,
                            "nodeType": "InlineAssembly",
                            "src": "17197:77:38"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "5769746e6574507269636546656564733a20736d6f6b652d74657374206661696c65643a20",
                                          "id": 8372,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "17345:39:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_1951bba37ae67239ce9350d517835ad4b982854d30580a7d3a830c8c7fa4da98",
                                            "typeString": "literal_string \"WitnetPriceFeeds: smoke-test failed: \""
                                          },
                                          "value": "WitnetPriceFeeds: smoke-test failed: "
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 8377,
                                                  "name": "_reason",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 8349,
                                                  "src": "17425:7:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  }
                                                },
                                                {
                                                  "components": [
                                                    {
                                                      "id": 8379,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "nodeType": "ElementaryTypeNameExpression",
                                                      "src": "17434:6:38",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                        "typeString": "type(string storage pointer)"
                                                      },
                                                      "typeName": {
                                                        "id": 8378,
                                                        "name": "string",
                                                        "nodeType": "ElementaryTypeName",
                                                        "src": "17434:6:38",
                                                        "typeDescriptions": {}
                                                      }
                                                    }
                                                  ],
                                                  "id": 8380,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "17433:8:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 8375,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "17414:3:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 8376,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "17418:6:38",
                                                "memberName": "decode",
                                                "nodeType": "MemberAccess",
                                                "src": "17414:10:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                  "typeString": "function () pure"
                                                }
                                              },
                                              "id": 8381,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "17414:28:38",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 8374,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "17407:6:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 8373,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "17407:6:38",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 8382,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "17407:36:38",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_1951bba37ae67239ce9350d517835ad4b982854d30580a7d3a830c8c7fa4da98",
                                            "typeString": "literal_string \"WitnetPriceFeeds: smoke-test failed: \""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 8370,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "17306:3:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 8371,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "17310:12:38",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "17306:16:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 8383,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "17306:156:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 8369,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "17299:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 8368,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "17299:6:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 8384,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "17299:164:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 8367,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967277,
                                  4294967277
                                ],
                                "referencedDeclaration": 4294967277,
                                "src": "17292:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 8385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17292:172:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 8386,
                            "nodeType": "ExpressionStatement",
                            "src": "17292:172:38"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 8391,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8230,
                        "src": "17530:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 8392,
                        "name": "solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8210,
                        "src": "17538:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8390,
                      "name": "WitnetFeedSolverSettled",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12849,
                      "src": "17506:23:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes4_$_t_address_$returns$__$",
                        "typeString": "function (bytes4,address)"
                      }
                    },
                    "id": 8393,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17506:39:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8394,
                  "nodeType": "EmitStatement",
                  "src": "17501:44:38"
                }
              ]
            },
            "functionSelector": "03f3813d",
            "id": 8396,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8217,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8216,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "15411:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "15411:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "15411:9:38"
              }
            ],
            "name": "settleFeedSolver",
            "nameLocation": "15243:16:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8215,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15384:8:38"
            },
            "parameters": {
              "id": 8214,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8208,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "15290:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8396,
                  "src": "15274:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 8207,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15274:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8210,
                  "mutability": "mutable",
                  "name": "solver",
                  "nameLocation": "15320:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8396,
                  "src": "15312:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8209,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15312:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8213,
                  "mutability": "mutable",
                  "name": "deps",
                  "nameLocation": "15359:4:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8396,
                  "src": "15341:22:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8211,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "15341:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 8212,
                    "nodeType": "ArrayTypeName",
                    "src": "15341:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15259:115:38"
            },
            "returnParameters": {
              "id": 8218,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15426:0:38"
            },
            "scope": 9169,
            "src": "15234:2319:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13409
            ],
            "body": {
              "id": 8409,
              "nodeType": "Block",
              "src": "17919:53:38",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 8405,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8398,
                          "src": "17948:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "id": 8404,
                        "name": "__records_",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12457,
                        "src": "17937:10:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                        }
                      },
                      "id": 8406,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17937:18:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                      }
                    },
                    "id": 8407,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "17956:8:38",
                    "memberName": "decimals",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12417,
                    "src": "17937:27:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 8403,
                  "id": 8408,
                  "nodeType": "Return",
                  "src": "17930:34:38"
                }
              ]
            },
            "functionSelector": "6ab221f8",
            "id": 8410,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupDecimals",
            "nameLocation": "17816:14:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8400,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "17856:8:38"
            },
            "parameters": {
              "id": 8399,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8398,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "17838:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8410,
                  "src": "17831:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8397,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "17831:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17830:15:38"
            },
            "returnParameters": {
              "id": 8403,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8402,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8410,
                  "src": "17907:5:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 8401,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "17907:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17906:7:38"
            },
            "scope": 9169,
            "src": "17807:165:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13420
            ],
            "body": {
              "id": 8472,
              "nodeType": "Block",
              "src": "18154:310:38",
              "statements": [
                {
                  "expression": {
                    "id": 8429,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8422,
                      "name": "_solverAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8417,
                      "src": "18165:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485",
                        "typeString": "contract IWitnetPriceSolver"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 8425,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8412,
                                "src": "18212:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 8424,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "18201:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 8426,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18201:18:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 8427,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "18220:6:38",
                          "memberName": "solver",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12427,
                          "src": "18201:25:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 8423,
                        "name": "IWitnetPriceSolver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13485,
                        "src": "18182:18:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                          "typeString": "type(contract IWitnetPriceSolver)"
                        }
                      },
                      "id": 8428,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "18182:45:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485",
                        "typeString": "contract IWitnetPriceSolver"
                      }
                    },
                    "src": "18165:62:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485",
                      "typeString": "contract IWitnetPriceSolver"
                    }
                  },
                  "id": 8430,
                  "nodeType": "ExpressionStatement",
                  "src": "18165:62:38"
                },
                {
                  "assignments": [
                    8435
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8435,
                      "mutability": "mutable",
                      "name": "_deps",
                      "nameLocation": "18254:5:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8472,
                      "src": "18238:21:38",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 8433,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "18238:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 8434,
                        "nodeType": "ArrayTypeName",
                        "src": "18238:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8439,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8437,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8412,
                        "src": "18270:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8436,
                      "name": "_depsOf",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12522,
                      "src": "18262:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                        "typeString": "function (bytes4) view returns (bytes4[] memory)"
                      }
                    },
                    "id": 8438,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18262:15:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18238:39:38"
                },
                {
                  "expression": {
                    "id": 8447,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8440,
                      "name": "_solverDeps",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8420,
                      "src": "18288:11:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 8444,
                            "name": "_deps",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8435,
                            "src": "18315:5:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 8445,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "18321:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "18315:12:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8443,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "18302:12:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (string memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 8441,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "18306:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 8442,
                          "nodeType": "ArrayTypeName",
                          "src": "18306:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                            "typeString": "string[]"
                          }
                        }
                      },
                      "id": 8446,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "18302:26:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "18288:40:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 8448,
                  "nodeType": "ExpressionStatement",
                  "src": "18288:40:38"
                },
                {
                  "body": {
                    "id": 8470,
                    "nodeType": "Block",
                    "src": "18386:71:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8468,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 8460,
                              "name": "_solverDeps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8420,
                              "src": "18401:11:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 8462,
                            "indexExpression": {
                              "id": 8461,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8450,
                              "src": "18413:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "18401:16:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 8464,
                                  "name": "_deps",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8435,
                                  "src": "18434:5:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                    "typeString": "bytes4[] memory"
                                  }
                                },
                                "id": 8466,
                                "indexExpression": {
                                  "id": 8465,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8450,
                                  "src": "18440:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "18434:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 8463,
                              "name": "lookupCaption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7384,
                              "src": "18420:13:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes4) view returns (string memory)"
                              }
                            },
                            "id": 8467,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18420:25:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "18401:44:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 8469,
                        "nodeType": "ExpressionStatement",
                        "src": "18401:44:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 8453,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8450,
                      "src": "18358:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 8454,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8435,
                        "src": "18364:5:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 8455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18370:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "18364:12:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18358:18:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8471,
                  "initializationExpression": {
                    "assignments": [
                      8450
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8450,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "18349:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 8471,
                        "src": "18344:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8449,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "18344:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 8452,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 8451,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18355:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "18344:12:38"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 8458,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "18378:6:38",
                      "subExpression": {
                        "id": 8457,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8450,
                        "src": "18378:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8459,
                    "nodeType": "ExpressionStatement",
                    "src": "18378:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "18339:118:38"
                }
              ]
            },
            "functionSelector": "384ac938",
            "id": 8473,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupPriceSolver",
            "nameLocation": "17993:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8414,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18035:8:38"
            },
            "parameters": {
              "id": 8413,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8412,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "18018:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8473,
                  "src": "18011:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8411,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "18011:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18010:15:38"
            },
            "returnParameters": {
              "id": 8421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8417,
                  "mutability": "mutable",
                  "name": "_solverAddress",
                  "nameLocation": "18104:14:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8473,
                  "src": "18085:33:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485",
                    "typeString": "contract IWitnetPriceSolver"
                  },
                  "typeName": {
                    "id": 8416,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8415,
                      "name": "IWitnetPriceSolver",
                      "nameLocations": [
                        "18085:18:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13485,
                      "src": "18085:18:38"
                    },
                    "referencedDeclaration": 13485,
                    "src": "18085:18:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485",
                      "typeString": "contract IWitnetPriceSolver"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8420,
                  "mutability": "mutable",
                  "name": "_solverDeps",
                  "nameLocation": "18136:11:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8473,
                  "src": "18120:27:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8418,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "18120:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 8419,
                    "nodeType": "ArrayTypeName",
                    "src": "18120:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18084:64:38"
            },
            "scope": 9169,
            "src": "17984:480:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13429
            ],
            "body": {
              "id": 8605,
              "nodeType": "Block",
              "src": "18611:1712:38",
              "statements": [
                {
                  "assignments": [
                    8483
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8483,
                      "mutability": "mutable",
                      "name": "_queryId",
                      "nameLocation": "18627:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8605,
                      "src": "18622:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8482,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "18622:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8487,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8485,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8475,
                        "src": "18656:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8484,
                      "name": "_lastValidQueryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8863,
                      "src": "18638:17:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                        "typeString": "function (bytes4) view returns (uint256)"
                      }
                    },
                    "id": 8486,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18638:25:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18622:41:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8490,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 8488,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8483,
                      "src": "18678:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 8489,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18689:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "18678:12:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8603,
                    "nodeType": "Block",
                    "src": "19199:1117:38",
                    "statements": [
                      {
                        "assignments": [
                          8526
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8526,
                            "mutability": "mutable",
                            "name": "_solver",
                            "nameLocation": "19222:7:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8603,
                            "src": "19214:15:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 8525,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "19214:7:38",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8531,
                        "initialValue": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 8528,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8475,
                                "src": "19243:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 8527,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "19232:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 8529,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19232:18:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 8530,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "19251:6:38",
                          "memberName": "solver",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12427,
                          "src": "19232:25:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "19214:43:38"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8537,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 8532,
                            "name": "_solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8526,
                            "src": "19276:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 8535,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "19295:1:38",
                                "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": 8534,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "19287:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 8533,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "19287:7:38",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 8536,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19287:10:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "19276:21:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 8601,
                          "nodeType": "Block",
                          "src": "20052:253:38",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "hexValue": "30",
                                    "id": 8593,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "20133:1:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  {
                                    "hexValue": "30",
                                    "id": 8594,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "20168:1:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  {
                                    "hexValue": "30",
                                    "id": 8595,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "20203:1:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "id": 8597,
                                        "name": "feedId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8475,
                                        "src": "20262:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      ],
                                      "id": 8596,
                                      "name": "latestUpdateResponseStatus",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7659,
                                      "src": "20235:26:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_enum$_ResponseStatus_$23496_$",
                                        "typeString": "function (bytes4) view returns (enum WitnetV2.ResponseStatus)"
                                      }
                                    },
                                    "id": 8598,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "20235:34:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  ],
                                  "expression": {
                                    "id": 8591,
                                    "name": "IWitnetPriceSolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13485,
                                    "src": "20078:18:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                      "typeString": "type(contract IWitnetPriceSolver)"
                                    }
                                  },
                                  "id": 8592,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "20097:5:38",
                                  "memberName": "Price",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 13453,
                                  "src": "20078:24:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_Price_$13453_storage_ptr_$",
                                    "typeString": "type(struct IWitnetPriceSolver.Price storage pointer)"
                                  }
                                },
                                "id": 8599,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "nameLocations": [
                                  "20126:5:38",
                                  "20157:9:38",
                                  "20192:9:38",
                                  "20227:6:38"
                                ],
                                "names": [
                                  "value",
                                  "timestamp",
                                  "tallyHash",
                                  "status"
                                ],
                                "nodeType": "FunctionCall",
                                "src": "20078:211:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                  "typeString": "struct IWitnetPriceSolver.Price memory"
                                }
                              },
                              "functionReturnParameters": 8481,
                              "id": 8600,
                              "nodeType": "Return",
                              "src": "20071:218:38"
                            }
                          ]
                        },
                        "id": 8602,
                        "nodeType": "IfStatement",
                        "src": "19272:1033:38",
                        "trueBody": {
                          "id": 8590,
                          "nodeType": "Block",
                          "src": "19299:747:38",
                          "statements": [
                            {
                              "assignments": [
                                8539,
                                8541
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 8539,
                                  "mutability": "mutable",
                                  "name": "_success",
                                  "nameLocation": "19392:8:38",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 8590,
                                  "src": "19387:13:38",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "typeName": {
                                    "id": 8538,
                                    "name": "bool",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "19387:4:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "visibility": "internal"
                                },
                                {
                                  "constant": false,
                                  "id": 8541,
                                  "mutability": "mutable",
                                  "name": "_result",
                                  "nameLocation": "19415:7:38",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 8590,
                                  "src": "19402:20:38",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes"
                                  },
                                  "typeName": {
                                    "id": 8540,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "19402:5:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_storage_ptr",
                                      "typeString": "bytes"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 8555,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 8549,
                                            "name": "IWitnetPriceSolver",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 13485,
                                            "src": "19496:18:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                              "typeString": "type(contract IWitnetPriceSolver)"
                                            }
                                          },
                                          "id": 8550,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "19515:5:38",
                                          "memberName": "solve",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 13471,
                                          "src": "19496:24:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$13453_memory_ptr_$",
                                            "typeString": "function IWitnetPriceSolver.solve(bytes4) view returns (struct IWitnetPriceSolver.Price memory)"
                                          }
                                        },
                                        "id": 8551,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "19521:8:38",
                                        "memberName": "selector",
                                        "nodeType": "MemberAccess",
                                        "src": "19496:33:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      {
                                        "id": 8552,
                                        "name": "feedId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8475,
                                        "src": "19552:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      ],
                                      "expression": {
                                        "id": 8547,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "19451:3:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 8548,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "19455:18:38",
                                      "memberName": "encodeWithSelector",
                                      "nodeType": "MemberAccess",
                                      "src": "19451:22:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function (bytes4) pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 8553,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "19451:126:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 8544,
                                        "name": "this",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967268,
                                        "src": "19434:4:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                                          "typeString": "contract WitnetPriceFeedsDefault"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                                          "typeString": "contract WitnetPriceFeedsDefault"
                                        }
                                      ],
                                      "id": 8543,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "19426:7:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 8542,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19426:7:38",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 8545,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "19426:13:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 8546,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19440:10:38",
                                  "memberName": "staticcall",
                                  "nodeType": "MemberAccess",
                                  "src": "19426:24:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                                    "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                                  }
                                },
                                "id": 8554,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "19426:152:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                                  "typeString": "tuple(bool,bytes memory)"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "19386:192:38"
                            },
                            {
                              "condition": {
                                "id": 8557,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "!",
                                "prefix": true,
                                "src": "19601:9:38",
                                "subExpression": {
                                  "id": 8556,
                                  "name": "_success",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8539,
                                  "src": "19602:8:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 8588,
                                "nodeType": "Block",
                                "src": "19934:97:38",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 8582,
                                          "name": "_result",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8541,
                                          "src": "19975:7:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        {
                                          "components": [
                                            {
                                              "expression": {
                                                "id": 8583,
                                                "name": "IWitnetPriceSolver",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 13485,
                                                "src": "19985:18:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                                  "typeString": "type(contract IWitnetPriceSolver)"
                                                }
                                              },
                                              "id": 8584,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "20004:5:38",
                                              "memberName": "Price",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 13453,
                                              "src": "19985:24:38",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_struct$_Price_$13453_storage_ptr_$",
                                                "typeString": "type(struct IWitnetPriceSolver.Price storage pointer)"
                                              }
                                            }
                                          ],
                                          "id": 8585,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "TupleExpression",
                                          "src": "19984:26:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_struct$_Price_$13453_storage_ptr_$",
                                            "typeString": "type(struct IWitnetPriceSolver.Price storage pointer)"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          },
                                          {
                                            "typeIdentifier": "t_type$_t_struct$_Price_$13453_storage_ptr_$",
                                            "typeString": "type(struct IWitnetPriceSolver.Price storage pointer)"
                                          }
                                        ],
                                        "expression": {
                                          "id": 8580,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "19964:3:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 8581,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "19968:6:38",
                                        "memberName": "decode",
                                        "nodeType": "MemberAccess",
                                        "src": "19964:10:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                          "typeString": "function () pure"
                                        }
                                      },
                                      "id": 8586,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "19964:47:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                        "typeString": "struct IWitnetPriceSolver.Price memory"
                                      }
                                    },
                                    "functionReturnParameters": 8481,
                                    "id": 8587,
                                    "nodeType": "Return",
                                    "src": "19957:54:38"
                                  }
                                ]
                              },
                              "id": 8589,
                              "nodeType": "IfStatement",
                              "src": "19597:434:38",
                              "trueBody": {
                                "id": 8579,
                                "nodeType": "Block",
                                "src": "19612:316:38",
                                "statements": [
                                  {
                                    "AST": {
                                      "nativeSrc": "19644:76:38",
                                      "nodeType": "YulBlock",
                                      "src": "19644:76:38",
                                      "statements": [
                                        {
                                          "nativeSrc": "19671:26:38",
                                          "nodeType": "YulAssignment",
                                          "src": "19671:26:38",
                                          "value": {
                                            "arguments": [
                                              {
                                                "name": "_result",
                                                "nativeSrc": "19686:7:38",
                                                "nodeType": "YulIdentifier",
                                                "src": "19686:7:38"
                                              },
                                              {
                                                "kind": "number",
                                                "nativeSrc": "19695:1:38",
                                                "nodeType": "YulLiteral",
                                                "src": "19695:1:38",
                                                "type": "",
                                                "value": "4"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "19682:3:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "19682:3:38"
                                            },
                                            "nativeSrc": "19682:15:38",
                                            "nodeType": "YulFunctionCall",
                                            "src": "19682:15:38"
                                          },
                                          "variableNames": [
                                            {
                                              "name": "_result",
                                              "nativeSrc": "19671:7:38",
                                              "nodeType": "YulIdentifier",
                                              "src": "19671:7:38"
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    "evmVersion": "paris",
                                    "externalReferences": [
                                      {
                                        "declaration": 8541,
                                        "isOffset": false,
                                        "isSlot": false,
                                        "src": "19671:7:38",
                                        "valueSize": 1
                                      },
                                      {
                                        "declaration": 8541,
                                        "isOffset": false,
                                        "isSlot": false,
                                        "src": "19686:7:38",
                                        "valueSize": 1
                                      }
                                    ],
                                    "id": 8558,
                                    "nodeType": "InlineAssembly",
                                    "src": "19635:85:38"
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "hexValue": "5769746e6574507269636546656564733a20",
                                                  "id": 8564,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "kind": "string",
                                                  "lValueRequested": false,
                                                  "nodeType": "Literal",
                                                  "src": "19799:20:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80",
                                                    "typeString": "literal_string \"WitnetPriceFeeds: \""
                                                  },
                                                  "value": "WitnetPriceFeeds: "
                                                },
                                                {
                                                  "arguments": [
                                                    {
                                                      "arguments": [
                                                        {
                                                          "id": 8569,
                                                          "name": "_result",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 8541,
                                                          "src": "19864:7:38",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                          }
                                                        },
                                                        {
                                                          "components": [
                                                            {
                                                              "id": 8571,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "nodeType": "ElementaryTypeNameExpression",
                                                              "src": "19874:6:38",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                                "typeString": "type(string storage pointer)"
                                                              },
                                                              "typeName": {
                                                                "id": 8570,
                                                                "name": "string",
                                                                "nodeType": "ElementaryTypeName",
                                                                "src": "19874:6:38",
                                                                "typeDescriptions": {}
                                                              }
                                                            }
                                                          ],
                                                          "id": 8572,
                                                          "isConstant": false,
                                                          "isInlineArray": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "lValueRequested": false,
                                                          "nodeType": "TupleExpression",
                                                          "src": "19873:8:38",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                            "typeString": "type(string storage pointer)"
                                                          }
                                                        }
                                                      ],
                                                      "expression": {
                                                        "argumentTypes": [
                                                          {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                          },
                                                          {
                                                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                            "typeString": "type(string storage pointer)"
                                                          }
                                                        ],
                                                        "expression": {
                                                          "id": 8567,
                                                          "name": "abi",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 4294967295,
                                                          "src": "19853:3:38",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                          }
                                                        },
                                                        "id": 8568,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "lValueRequested": false,
                                                        "memberLocation": "19857:6:38",
                                                        "memberName": "decode",
                                                        "nodeType": "MemberAccess",
                                                        "src": "19853:10:38",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                          "typeString": "function () pure"
                                                        }
                                                      },
                                                      "id": 8573,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "kind": "functionCall",
                                                      "lValueRequested": false,
                                                      "nameLocations": [],
                                                      "names": [],
                                                      "nodeType": "FunctionCall",
                                                      "src": "19853:29:38",
                                                      "tryCall": false,
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_string_memory_ptr",
                                                        "typeString": "string memory"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_string_memory_ptr",
                                                        "typeString": "string memory"
                                                      }
                                                    ],
                                                    "id": 8566,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "nodeType": "ElementaryTypeNameExpression",
                                                    "src": "19846:6:38",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                      "typeString": "type(string storage pointer)"
                                                    },
                                                    "typeName": {
                                                      "id": 8565,
                                                      "name": "string",
                                                      "nodeType": "ElementaryTypeName",
                                                      "src": "19846:6:38",
                                                      "typeDescriptions": {}
                                                    }
                                                  },
                                                  "id": 8574,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "typeConversion",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "19846:37:38",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80",
                                                    "typeString": "literal_string \"WitnetPriceFeeds: \""
                                                  },
                                                  {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 8562,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "19756:3:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 8563,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "19760:12:38",
                                                "memberName": "encodePacked",
                                                "nodeType": "MemberAccess",
                                                "src": "19756:16:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                  "typeString": "function () pure returns (bytes memory)"
                                                }
                                              },
                                              "id": 8575,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "19756:150:38",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                              }
                                            ],
                                            "id": 8561,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "19749:6:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 8560,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "19749:6:38",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 8576,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "19749:158:38",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "id": 8559,
                                        "name": "revert",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [
                                          4294967277,
                                          4294967277
                                        ],
                                        "referencedDeclaration": 4294967277,
                                        "src": "19742:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                          "typeString": "function (string memory) pure"
                                        }
                                      },
                                      "id": 8577,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "19742:166:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 8578,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19742:166:38"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 8604,
                  "nodeType": "IfStatement",
                  "src": "18674:1642:38",
                  "trueBody": {
                    "id": 8524,
                    "nodeType": "Block",
                    "src": "18692:501:38",
                    "statements": [
                      {
                        "assignments": [
                          8495
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8495,
                            "mutability": "mutable",
                            "name": "_lastValidResponse",
                            "nameLocation": "18732:18:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8524,
                            "src": "18707:43:38",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                              "typeString": "struct WitnetV2.Response"
                            },
                            "typeName": {
                              "id": 8494,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 8493,
                                "name": "WitnetV2.Response",
                                "nameLocations": [
                                  "18707:8:38",
                                  "18716:8:38"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 23488,
                                "src": "18707:17:38"
                              },
                              "referencedDeclaration": 23488,
                              "src": "18707:17:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                                "typeString": "struct WitnetV2.Response"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8499,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 8497,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8475,
                              "src": "18771:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "id": 8496,
                            "name": "lastValidResponse",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7578,
                            "src": "18753:17:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                              "typeString": "function (bytes4) view returns (struct WitnetV2.Response memory)"
                            }
                          },
                          "id": 8498,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18753:25:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                            "typeString": "struct WitnetV2.Response memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "18707:71:38"
                      },
                      {
                        "assignments": [
                          8504
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8504,
                            "mutability": "mutable",
                            "name": "_latestResult",
                            "nameLocation": "18814:13:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8524,
                            "src": "18793:34:38",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                              "typeString": "struct Witnet.Result"
                            },
                            "typeName": {
                              "id": 8503,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 8502,
                                "name": "Witnet.Result",
                                "nameLocations": [
                                  "18793:6:38",
                                  "18800:6:38"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 16042,
                                "src": "18793:13:38"
                              },
                              "referencedDeclaration": 16042,
                              "src": "18793:13:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Result_$16042_storage_ptr",
                                "typeString": "struct Witnet.Result"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8509,
                        "initialValue": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "expression": {
                                "id": 8505,
                                "name": "_lastValidResponse",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8495,
                                "src": "18830:18:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                                  "typeString": "struct WitnetV2.Response memory"
                                }
                              },
                              "id": 8506,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "18849:15:38",
                              "memberName": "resultCborBytes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23487,
                              "src": "18830:34:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 8507,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18865:14:38",
                            "memberName": "toWitnetResult",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16864,
                            "src": "18830:49:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_Result_$16042_memory_ptr_$attached_to$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes memory) pure returns (struct Witnet.Result memory)"
                            }
                          },
                          "id": 8508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18830:51:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                            "typeString": "struct Witnet.Result memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "18793:88:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 8512,
                                  "name": "_latestResult",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8504,
                                  "src": "18954:13:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                                    "typeString": "struct Witnet.Result memory"
                                  }
                                },
                                "id": 8513,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "18968:6:38",
                                "memberName": "asUint",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 17490,
                                "src": "18954:20:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_Result_$16042_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Result_$16042_memory_ptr_$",
                                  "typeString": "function (struct Witnet.Result memory) pure returns (uint256)"
                                }
                              },
                              "id": 8514,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18954:22:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "expression": {
                                "id": 8515,
                                "name": "_lastValidResponse",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8495,
                                "src": "19006:18:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                                  "typeString": "struct WitnetV2.Response memory"
                                }
                              },
                              "id": 8516,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "19025:15:38",
                              "memberName": "resultTimestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23483,
                              "src": "19006:34:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            },
                            {
                              "expression": {
                                "id": 8517,
                                "name": "_lastValidResponse",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8495,
                                "src": "19070:18:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                                  "typeString": "struct WitnetV2.Response memory"
                                }
                              },
                              "id": 8518,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "19089:15:38",
                              "memberName": "resultTallyHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23485,
                              "src": "19070:34:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "id": 8520,
                                  "name": "feedId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8475,
                                  "src": "19158:6:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                ],
                                "id": 8519,
                                "name": "latestUpdateResponseStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7659,
                                "src": "19131:26:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_enum$_ResponseStatus_$23496_$",
                                  "typeString": "function (bytes4) view returns (enum WitnetV2.ResponseStatus)"
                                }
                              },
                              "id": 8521,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "19131:34:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                "typeString": "enum WitnetV2.ResponseStatus"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                "typeString": "enum WitnetV2.ResponseStatus"
                              }
                            ],
                            "expression": {
                              "id": 8510,
                              "name": "IWitnetPriceSolver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13485,
                              "src": "18903:18:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitnetPriceSolver_$13485_$",
                                "typeString": "type(contract IWitnetPriceSolver)"
                              }
                            },
                            "id": 8511,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18922:5:38",
                            "memberName": "Price",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13453,
                            "src": "18903:24:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Price_$13453_storage_ptr_$",
                              "typeString": "type(struct IWitnetPriceSolver.Price storage pointer)"
                            }
                          },
                          "id": 8522,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "18947:5:38",
                            "18995:9:38",
                            "19059:9:38",
                            "19123:6:38"
                          ],
                          "names": [
                            "value",
                            "timestamp",
                            "tallyHash",
                            "status"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "18903:278:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                            "typeString": "struct IWitnetPriceSolver.Price memory"
                          }
                        },
                        "functionReturnParameters": 8481,
                        "id": 8523,
                        "nodeType": "Return",
                        "src": "18896:285:38"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "c3d98ea8",
            "id": 8606,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrice",
            "nameLocation": "18481:11:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8477,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18525:8:38"
            },
            "parameters": {
              "id": 8476,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8475,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "18500:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8606,
                  "src": "18493:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8474,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "18493:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18492:15:38"
            },
            "returnParameters": {
              "id": 8481,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8480,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8606,
                  "src": "18573:31:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                    "typeString": "struct IWitnetPriceSolver.Price"
                  },
                  "typeName": {
                    "id": 8479,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8478,
                      "name": "IWitnetPriceSolver.Price",
                      "nameLocations": [
                        "18573:18:38",
                        "18592:5:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13453,
                      "src": "18573:24:38"
                    },
                    "referencedDeclaration": 13453,
                    "src": "18573:24:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$13453_storage_ptr",
                      "typeString": "struct IWitnetPriceSolver.Price"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18572:33:38"
            },
            "scope": 9169,
            "src": "18472:1851:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              13439
            ],
            "body": {
              "id": 8650,
              "nodeType": "Block",
              "src": "20495:201:38",
              "statements": [
                {
                  "expression": {
                    "id": 8625,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8617,
                      "name": "_prices",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8615,
                      "src": "20506:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitnetPriceSolver.Price memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 8622,
                            "name": "feedIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8609,
                            "src": "20547:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                              "typeString": "bytes4[] calldata"
                            }
                          },
                          "id": 8623,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "20555:6:38",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "20547:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8621,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "20516:30:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (struct IWitnetPriceSolver.Price memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 8619,
                            "nodeType": "UserDefinedTypeName",
                            "pathNode": {
                              "id": 8618,
                              "name": "IWitnetPriceSolver.Price",
                              "nameLocations": [
                                "20520:18:38",
                                "20539:5:38"
                              ],
                              "nodeType": "IdentifierPath",
                              "referencedDeclaration": 13453,
                              "src": "20520:24:38"
                            },
                            "referencedDeclaration": 13453,
                            "src": "20520:24:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$13453_storage_ptr",
                              "typeString": "struct IWitnetPriceSolver.Price"
                            }
                          },
                          "id": 8620,
                          "nodeType": "ArrayTypeName",
                          "src": "20520:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Price_$13453_storage_$dyn_storage_ptr",
                            "typeString": "struct IWitnetPriceSolver.Price[]"
                          }
                        }
                      },
                      "id": 8624,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20516:46:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitnetPriceSolver.Price memory[] memory"
                      }
                    },
                    "src": "20506:56:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct IWitnetPriceSolver.Price memory[] memory"
                    }
                  },
                  "id": 8626,
                  "nodeType": "ExpressionStatement",
                  "src": "20506:56:38"
                },
                {
                  "body": {
                    "id": 8648,
                    "nodeType": "Block",
                    "src": "20622:67:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8646,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 8638,
                              "name": "_prices",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8615,
                              "src": "20637:7:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct IWitnetPriceSolver.Price memory[] memory"
                              }
                            },
                            "id": 8640,
                            "indexExpression": {
                              "id": 8639,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8628,
                              "src": "20645:3:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "20637:12:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                              "typeString": "struct IWitnetPriceSolver.Price memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 8642,
                                  "name": "feedIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8609,
                                  "src": "20664:7:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                                    "typeString": "bytes4[] calldata"
                                  }
                                },
                                "id": 8644,
                                "indexExpression": {
                                  "id": 8643,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8628,
                                  "src": "20672:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "20664:12:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 8641,
                              "name": "latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8606,
                              "src": "20652:11:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Price_$13453_memory_ptr_$",
                                "typeString": "function (bytes4) view returns (struct IWitnetPriceSolver.Price memory)"
                              }
                            },
                            "id": 8645,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "20652:25:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                              "typeString": "struct IWitnetPriceSolver.Price memory"
                            }
                          },
                          "src": "20637:40:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                            "typeString": "struct IWitnetPriceSolver.Price memory"
                          }
                        },
                        "id": 8647,
                        "nodeType": "ExpressionStatement",
                        "src": "20637:40:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 8631,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8628,
                      "src": "20592:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 8632,
                        "name": "feedIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8609,
                        "src": "20598:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                          "typeString": "bytes4[] calldata"
                        }
                      },
                      "id": 8633,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20606:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "20598:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "20592:20:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8649,
                  "initializationExpression": {
                    "assignments": [
                      8628
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8628,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "20583:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 8649,
                        "src": "20578:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8627,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "20578:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 8630,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 8629,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "20589:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "20578:12:38"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 8636,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "20614:6:38",
                      "subExpression": {
                        "id": 8635,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8628,
                        "src": "20614:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8637,
                    "nodeType": "ExpressionStatement",
                    "src": "20614:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "20573:116:38"
                }
              ]
            },
            "functionSelector": "f9f34bb6",
            "id": 8651,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrices",
            "nameLocation": "20340:12:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8611,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "20397:8:38"
            },
            "parameters": {
              "id": 8610,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8609,
                  "mutability": "mutable",
                  "name": "feedIds",
                  "nameLocation": "20371:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8651,
                  "src": "20353:25:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8607,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "20353:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 8608,
                    "nodeType": "ArrayTypeName",
                    "src": "20353:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20352:27:38"
            },
            "returnParameters": {
              "id": 8616,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8615,
                  "mutability": "mutable",
                  "name": "_prices",
                  "nameLocation": "20481:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8651,
                  "src": "20447:41:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct IWitnetPriceSolver.Price[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8613,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 8612,
                        "name": "IWitnetPriceSolver.Price",
                        "nameLocations": [
                          "20447:18:38",
                          "20466:5:38"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 13453,
                        "src": "20447:24:38"
                      },
                      "referencedDeclaration": 13453,
                      "src": "20447:24:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$13453_storage_ptr",
                        "typeString": "struct IWitnetPriceSolver.Price"
                      }
                    },
                    "id": 8614,
                    "nodeType": "ArrayTypeName",
                    "src": "20447:26:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$13453_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitnetPriceSolver.Price[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20446:43:38"
            },
            "scope": 9169,
            "src": "20331:365:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13504
            ],
            "body": {
              "id": 8678,
              "nodeType": "Block",
              "src": "21140:234:38",
              "statements": [
                {
                  "expression": {
                    "id": 8669,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 8663,
                      "name": "_solver",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8661,
                      "src": "21151:7:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 8666,
                          "name": "initcode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8653,
                          "src": "21199:8:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        },
                        {
                          "id": 8667,
                          "name": "constructorParams",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8655,
                          "src": "21209:17:38",
                          "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": 8664,
                          "name": "WitnetPriceFeedsLib",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23444,
                          "src": "21161:19:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetPriceFeedsLib_$23444_$",
                            "typeString": "type(library WitnetPriceFeedsLib)"
                          }
                        },
                        "id": 8665,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21181:17:38",
                        "memberName": "deployPriceSolver",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23273,
                        "src": "21161:37:38",
                        "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": 8668,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21161:66:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "21151:76:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 8670,
                  "nodeType": "ExpressionStatement",
                  "src": "21151:76:38"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 8672,
                        "name": "_solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8661,
                        "src": "21283:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "expression": {
                          "id": 8673,
                          "name": "_solver",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8661,
                          "src": "21306:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8674,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21314:8:38",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "src": "21306:16:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 8675,
                        "name": "constructorParams",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8655,
                        "src": "21338:17:38",
                        "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": 8671,
                      "name": "WitnetPriceSolverDeployed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13495,
                      "src": "21243:25:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,bytes32,bytes memory)"
                      }
                    },
                    "id": 8676,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21243:123:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8677,
                  "nodeType": "EmitStatement",
                  "src": "21238:128:38"
                }
              ]
            },
            "functionSelector": "a55b471c",
            "id": 8679,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 8659,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 8658,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "21090:9:38"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "21090:9:38"
                },
                "nodeType": "ModifierInvocation",
                "src": "21090:9:38"
              }
            ],
            "name": "deployPriceSolver",
            "nameLocation": "20960:17:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8657,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "21054:8:38"
            },
            "parameters": {
              "id": 8656,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8653,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "20993:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8679,
                  "src": "20978:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 8652,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "20978:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8655,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "21018:17:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8679,
                  "src": "21003:32:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 8654,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "21003:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20977:59:38"
            },
            "returnParameters": {
              "id": 8662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8661,
                  "mutability": "mutable",
                  "name": "_solver",
                  "nameLocation": "21126:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8679,
                  "src": "21118:15:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8660,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21118:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21117:17:38"
            },
            "scope": 9169,
            "src": "20951:423:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              13513
            ],
            "body": {
              "id": 8695,
              "nodeType": "Block",
              "src": "21566:102:38",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 8691,
                        "name": "initcode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8681,
                        "src": "21632:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "id": 8692,
                        "name": "constructorParams",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8683,
                        "src": "21642:17:38",
                        "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": 8689,
                        "name": "WitnetPriceFeedsLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23444,
                        "src": "21584:19:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetPriceFeedsLib_$23444_$",
                          "typeString": "type(library WitnetPriceFeedsLib)"
                        }
                      },
                      "id": 8690,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21604:27:38",
                      "memberName": "determinePriceSolverAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23316,
                      "src": "21584:47:38",
                      "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": 8693,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21584:76:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 8688,
                  "id": 8694,
                  "nodeType": "Return",
                  "src": "21577:83:38"
                }
              ]
            },
            "functionSelector": "ff75890f",
            "id": 8696,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "determinePriceSolverAddress",
            "nameLocation": "21391:27:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8685,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "21495:8:38"
            },
            "parameters": {
              "id": 8684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8681,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "21434:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8696,
                  "src": "21419:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 8680,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "21419:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8683,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "21459:17:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8696,
                  "src": "21444:32:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 8682,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "21444:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21418:59:38"
            },
            "returnParameters": {
              "id": 8688,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8687,
                  "mutability": "mutable",
                  "name": "_address",
                  "nameLocation": "21551:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8696,
                  "src": "21543:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8686,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21543:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21542:18:38"
            },
            "scope": 9169,
            "src": "21382:286:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              629
            ],
            "body": {
              "id": 8754,
              "nodeType": "Block",
              "src": "22084:504:38",
              "statements": [
                {
                  "assignments": [
                    8712
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8712,
                      "mutability": "mutable",
                      "name": "_latestPrice",
                      "nameLocation": "22127:12:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8754,
                      "src": "22095:44:38",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                        "typeString": "struct IWitnetPriceSolver.Price"
                      },
                      "typeName": {
                        "id": 8711,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 8710,
                          "name": "IWitnetPriceSolver.Price",
                          "nameLocations": [
                            "22095:18:38",
                            "22114:5:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 13453,
                          "src": "22095:24:38"
                        },
                        "referencedDeclaration": 13453,
                        "src": "22095:24:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Price_$13453_storage_ptr",
                          "typeString": "struct IWitnetPriceSolver.Price"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8719,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 8716,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8698,
                            "src": "22161:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 8715,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "22154:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes4_$",
                            "typeString": "type(bytes4)"
                          },
                          "typeName": {
                            "id": 8714,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "22154:6:38",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 8717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "22154:14:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8713,
                      "name": "latestPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8606,
                      "src": "22142:11:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Price_$13453_memory_ptr_$",
                        "typeString": "function (bytes4) view returns (struct IWitnetPriceSolver.Price memory)"
                      }
                    },
                    "id": 8718,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22142:27:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                      "typeString": "struct IWitnetPriceSolver.Price memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "22095:74:38"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 8722,
                              "name": "_latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8712,
                              "src": "22206:12:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                "typeString": "struct IWitnetPriceSolver.Price memory"
                              }
                            },
                            "id": 8723,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "22219:5:38",
                            "memberName": "value",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13445,
                            "src": "22206:18:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 8721,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "22202:3:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_int256_$",
                            "typeString": "type(int256)"
                          },
                          "typeName": {
                            "id": 8720,
                            "name": "int",
                            "nodeType": "ElementaryTypeName",
                            "src": "22202:3:38",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 8724,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "22202:23:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "expression": {
                          "id": 8725,
                          "name": "_latestPrice",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8712,
                          "src": "22240:12:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                            "typeString": "struct IWitnetPriceSolver.Price memory"
                          }
                        },
                        "id": 8726,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "22253:9:38",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 13447,
                        "src": "22240:22:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                            "typeString": "enum WitnetV2.ResponseStatus"
                          },
                          "id": 8732,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 8727,
                              "name": "_latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8712,
                              "src": "22277:12:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                "typeString": "struct IWitnetPriceSolver.Price memory"
                              }
                            },
                            "id": 8728,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "22290:6:38",
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13452,
                            "src": "22277:19:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 8729,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "22300:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 8730,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22309:14:38",
                              "memberName": "ResponseStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23496,
                              "src": "22300:23:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                "typeString": "type(enum WitnetV2.ResponseStatus)"
                              }
                            },
                            "id": 8731,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "22324:5:38",
                            "memberName": "Ready",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23492,
                            "src": "22300:29:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            }
                          },
                          "src": "22277:52:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "condition": {
                            "components": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 8746,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                    "typeString": "enum WitnetV2.ResponseStatus"
                                  },
                                  "id": 8739,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "id": 8734,
                                      "name": "_latestPrice",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8712,
                                      "src": "22396:12:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                        "typeString": "struct IWitnetPriceSolver.Price memory"
                                      }
                                    },
                                    "id": 8735,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "22409:6:38",
                                    "memberName": "status",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 13452,
                                    "src": "22396:19:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 8736,
                                        "name": "WitnetV2",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 23640,
                                        "src": "22419:8:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                          "typeString": "type(library WitnetV2)"
                                        }
                                      },
                                      "id": 8737,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "22428:14:38",
                                      "memberName": "ResponseStatus",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23496,
                                      "src": "22419:23:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                        "typeString": "type(enum WitnetV2.ResponseStatus)"
                                      }
                                    },
                                    "id": 8738,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "22443:8:38",
                                    "memberName": "Awaiting",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 23491,
                                    "src": "22419:32:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  },
                                  "src": "22396:55:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                    "typeString": "enum WitnetV2.ResponseStatus"
                                  },
                                  "id": 8745,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "id": 8740,
                                      "name": "_latestPrice",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8712,
                                      "src": "22481:12:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Price_$13453_memory_ptr",
                                        "typeString": "struct IWitnetPriceSolver.Price memory"
                                      }
                                    },
                                    "id": 8741,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "22494:6:38",
                                    "memberName": "status",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 13452,
                                    "src": "22481:19:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 8742,
                                        "name": "WitnetV2",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 23640,
                                        "src": "22504:8:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                          "typeString": "type(library WitnetV2)"
                                        }
                                      },
                                      "id": 8743,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "22513:14:38",
                                      "memberName": "ResponseStatus",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23496,
                                      "src": "22504:23:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                        "typeString": "type(enum WitnetV2.ResponseStatus)"
                                      }
                                    },
                                    "id": 8744,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "22528:10:38",
                                    "memberName": "Finalizing",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 23494,
                                    "src": "22504:34:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  },
                                  "src": "22481:57:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "22396:142:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 8747,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "22373:184:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "hexValue": "343030",
                            "id": 8749,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22566:3:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_400_by_1",
                              "typeString": "int_const 400"
                            },
                            "value": "400"
                          },
                          "id": 8750,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "22373:196:38",
                          "trueExpression": {
                            "hexValue": "343034",
                            "id": 8748,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22560:3:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_404_by_1",
                              "typeString": "int_const 404"
                            },
                            "value": "404"
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "id": 8751,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "22277:292:38",
                        "trueExpression": {
                          "hexValue": "323030",
                          "id": 8733,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22350:3:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_200_by_1",
                            "typeString": "int_const 200"
                          },
                          "value": "200"
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "id": 8752,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "22187:393:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_int256_$_t_uint256_$_t_uint16_$",
                      "typeString": "tuple(int256,uint256,uint16)"
                    }
                  },
                  "functionReturnParameters": 8707,
                  "id": 8753,
                  "nodeType": "Return",
                  "src": "22180:400:38"
                }
              ]
            },
            "functionSelector": "f78eea83",
            "id": 8755,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "valueFor",
            "nameLocation": "21935:8:38",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8700,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "21977:8:38"
            },
            "parameters": {
              "id": 8699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8698,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "21952:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8755,
                  "src": "21944:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8697,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "21944:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21943:16:38"
            },
            "returnParameters": {
              "id": 8707,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8702,
                  "mutability": "mutable",
                  "name": "_value",
                  "nameLocation": "22034:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8755,
                  "src": "22027:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 8701,
                    "name": "int256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22027:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8704,
                  "mutability": "mutable",
                  "name": "_timestamp",
                  "nameLocation": "22050:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8755,
                  "src": "22042:18:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8703,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22042:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8706,
                  "mutability": "mutable",
                  "name": "_status",
                  "nameLocation": "22070:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8755,
                  "src": "22062:15:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8705,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22062:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22026:52:38"
            },
            "scope": 9169,
            "src": "21926:662:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8778,
              "nodeType": "Block",
              "src": "22963:178:38",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 8763,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8757,
                      "src": "22978:8:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 8764,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22989:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "22978:12:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8776,
                    "nodeType": "Block",
                    "src": "23071:63:38",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "expression": {
                              "id": 8772,
                              "name": "WitnetV2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23640,
                              "src": "23093:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                "typeString": "type(library WitnetV2)"
                              }
                            },
                            "id": 8773,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23102:14:38",
                            "memberName": "ResponseStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23496,
                            "src": "23093:23:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                              "typeString": "type(enum WitnetV2.ResponseStatus)"
                            }
                          },
                          "id": 8774,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "23117:5:38",
                          "memberName": "Ready",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23492,
                          "src": "23093:29:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                            "typeString": "enum WitnetV2.ResponseStatus"
                          }
                        },
                        "functionReturnParameters": 8762,
                        "id": 8775,
                        "nodeType": "Return",
                        "src": "23086:36:38"
                      }
                    ]
                  },
                  "id": 8777,
                  "nodeType": "IfStatement",
                  "src": "22974:160:38",
                  "trueBody": {
                    "id": 8771,
                    "nodeType": "Block",
                    "src": "22992:73:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 8768,
                              "name": "_queryId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8757,
                              "src": "23044:8:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 8766,
                              "name": "witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7070,
                              "src": "23014:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                "typeString": "contract WitnetOracle"
                              }
                            },
                            "id": 8767,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23021:22:38",
                            "memberName": "getQueryResponseStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13178,
                            "src": "23014:29:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_ResponseStatus_$23496_$",
                              "typeString": "function (uint256) view external returns (enum WitnetV2.ResponseStatus)"
                            }
                          },
                          "id": 8769,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23014:39:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                            "typeString": "enum WitnetV2.ResponseStatus"
                          }
                        },
                        "functionReturnParameters": 8762,
                        "id": 8770,
                        "nodeType": "Return",
                        "src": "23007:46:38"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 8779,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_checkQueryResponseStatus",
            "nameLocation": "22851:25:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8758,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8757,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "22882:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8779,
                  "src": "22877:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8756,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "22877:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22876:15:38"
            },
            "returnParameters": {
              "id": 8762,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8761,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8779,
                  "src": "22933:23:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                    "typeString": "enum WitnetV2.ResponseStatus"
                  },
                  "typeName": {
                    "id": 8760,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8759,
                      "name": "WitnetV2.ResponseStatus",
                      "nameLocations": [
                        "22933:8:38",
                        "22942:14:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23496,
                      "src": "22933:23:38"
                    },
                    "referencedDeclaration": 23496,
                    "src": "22933:23:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22932:25:38"
            },
            "scope": 9169,
            "src": "22842:299:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8826,
              "nodeType": "Block",
              "src": "23223:265:38",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8794,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 8787,
                            "name": "_id4",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8781,
                            "src": "23249:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 8786,
                          "name": "__records_",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12457,
                          "src": "23238:10:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                          }
                        },
                        "id": 8788,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "23238:16:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                        }
                      },
                      "id": 8789,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23255:7:38",
                      "memberName": "radHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12425,
                      "src": "23238:24:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 8792,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "23274:1:38",
                          "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": 8791,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "23266:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes32_$",
                          "typeString": "type(bytes32)"
                        },
                        "typeName": {
                          "id": 8790,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "23266:7:38",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 8793,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "23266:10:38",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "23238:38:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8824,
                    "nodeType": "Block",
                    "src": "23379:102:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 8815,
                                      "name": "_id4",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8781,
                                      "src": "23429:4:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "id": 8817,
                                            "name": "_id4",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8781,
                                            "src": "23446:4:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 8816,
                                          "name": "__records_",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12457,
                                          "src": "23435:10:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                            "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                                          }
                                        },
                                        "id": 8818,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23435:16:38",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                        }
                                      },
                                      "id": 8819,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23452:14:38",
                                      "memberName": "solverDepsFlag",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 12431,
                                      "src": "23435:31:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    ],
                                    "expression": {
                                      "id": 8813,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "23418:3:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 8814,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "23422:6:38",
                                    "memberName": "encode",
                                    "nodeType": "MemberAccess",
                                    "src": "23418:10:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 8820,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23418:49:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 8812,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967288,
                                "src": "23408:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 8821,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23408:60:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 8811,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "23401:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes4_$",
                              "typeString": "type(bytes4)"
                            },
                            "typeName": {
                              "id": 8810,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "23401:6:38",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 8822,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23401:68:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "functionReturnParameters": 8785,
                        "id": 8823,
                        "nodeType": "Return",
                        "src": "23394:75:38"
                      }
                    ]
                  },
                  "id": 8825,
                  "nodeType": "IfStatement",
                  "src": "23234:247:38",
                  "trueBody": {
                    "id": 8809,
                    "nodeType": "Block",
                    "src": "23278:95:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 8800,
                                      "name": "_id4",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8781,
                                      "src": "23328:4:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "id": 8802,
                                            "name": "_id4",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8781,
                                            "src": "23345:4:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 8801,
                                          "name": "__records_",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12457,
                                          "src": "23334:10:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                            "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                                          }
                                        },
                                        "id": 8803,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23334:16:38",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                        }
                                      },
                                      "id": 8804,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23351:7:38",
                                      "memberName": "radHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 12425,
                                      "src": "23334:24:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    ],
                                    "expression": {
                                      "id": 8798,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "23317:3:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 8799,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "23321:6:38",
                                    "memberName": "encode",
                                    "nodeType": "MemberAccess",
                                    "src": "23317:10:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 8805,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23317:42:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 8797,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967288,
                                "src": "23307:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 8806,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23307:53:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 8796,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "23300:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes4_$",
                              "typeString": "type(bytes4)"
                            },
                            "typeName": {
                              "id": 8795,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "23300:6:38",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 8807,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23300:61:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "functionReturnParameters": 8785,
                        "id": 8808,
                        "nodeType": "Return",
                        "src": "23293:68:38"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 8827,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_footprintOf",
            "nameLocation": "23158:12:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8782,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8781,
                  "mutability": "mutable",
                  "name": "_id4",
                  "nameLocation": "23178:4:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8827,
                  "src": "23171:11:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8780,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "23171:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23170:13:38"
            },
            "returnParameters": {
              "id": 8785,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8784,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8827,
                  "src": "23215:6:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8783,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "23215:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23214:8:38"
            },
            "scope": 9169,
            "src": "23149:339:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8862,
              "nodeType": "Block",
              "src": "23601:372:38",
              "statements": [
                {
                  "assignments": [
                    8835
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8835,
                      "mutability": "mutable",
                      "name": "_latestUpdateQueryId",
                      "nameLocation": "23617:20:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8862,
                      "src": "23612:25:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8834,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "23612:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8839,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8837,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8829,
                        "src": "23660:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8836,
                      "name": "latestUpdateQueryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7592,
                      "src": "23640:19:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_uint256_$",
                        "typeString": "function (bytes4) view returns (uint256)"
                      }
                    },
                    "id": 8838,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23640:27:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23612:55:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 8851,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 8842,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 8840,
                        "name": "_latestUpdateQueryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8835,
                        "src": "23696:20:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 8841,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "23719:1:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "23696:24:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      },
                      "id": 8850,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "arguments": [
                          {
                            "id": 8845,
                            "name": "_latestUpdateQueryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8835,
                            "src": "23771:20:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 8843,
                            "name": "witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7070,
                            "src": "23741:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitnetOracle_$749",
                              "typeString": "contract WitnetOracle"
                            }
                          },
                          "id": 8844,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23748:22:38",
                          "memberName": "getQueryResponseStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13178,
                          "src": "23741:29:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_ResponseStatus_$23496_$",
                            "typeString": "function (uint256) view external returns (enum WitnetV2.ResponseStatus)"
                          }
                        },
                        "id": 8846,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "23741:51:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 8847,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "23796:8:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 8848,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23805:14:38",
                          "memberName": "ResponseStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23496,
                          "src": "23796:23:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                            "typeString": "type(enum WitnetV2.ResponseStatus)"
                          }
                        },
                        "id": 8849,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "23820:5:38",
                        "memberName": "Ready",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23492,
                        "src": "23796:29:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "src": "23741:84:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "23696:129:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8860,
                    "nodeType": "Block",
                    "src": "23897:69:38",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 8856,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8829,
                                "src": "23930:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 8855,
                              "name": "__records_",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12457,
                              "src": "23919:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                              }
                            },
                            "id": 8857,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "23919:18:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 8858,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23938:16:38",
                          "memberName": "lastValidQueryId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12421,
                          "src": "23919:35:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "functionReturnParameters": 8833,
                        "id": 8859,
                        "nodeType": "Return",
                        "src": "23912:42:38"
                      }
                    ]
                  },
                  "id": 8861,
                  "nodeType": "IfStatement",
                  "src": "23678:288:38",
                  "trueBody": {
                    "id": 8854,
                    "nodeType": "Block",
                    "src": "23837:54:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8852,
                          "name": "_latestUpdateQueryId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8835,
                          "src": "23859:20:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "functionReturnParameters": 8833,
                        "id": 8853,
                        "nodeType": "Return",
                        "src": "23852:27:38"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 8863,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_lastValidQueryId",
            "nameLocation": "23505:17:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8830,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8829,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "23530:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8863,
                  "src": "23523:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8828,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "23523:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23522:15:38"
            },
            "returnParameters": {
              "id": 8833,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8832,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8863,
                  "src": "23587:7:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8831,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23587:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23586:9:38"
            },
            "scope": 9169,
            "src": "23496:477:38",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8899,
              "nodeType": "Block",
              "src": "24076:320:38",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 8880,
                        "nodeType": "Block",
                        "src": "24172:43:38",
                        "statements": [
                          {
                            "expression": {
                              "id": 8878,
                              "name": "_decimals",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8876,
                              "src": "24194:9:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "functionReturnParameters": 8869,
                            "id": 8879,
                            "nodeType": "Return",
                            "src": "24187:16:38"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 8881,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 8877,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 8876,
                            "mutability": "mutable",
                            "name": "_decimals",
                            "nameLocation": "24161:9:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8881,
                            "src": "24155:15:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            "typeName": {
                              "id": 8875,
                              "name": "uint8",
                              "nodeType": "ElementaryTypeName",
                              "src": "24155:5:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "24154:17:38"
                      },
                      "src": "24146:69:38"
                    },
                    {
                      "block": {
                        "id": 8896,
                        "nodeType": "Block",
                        "src": "24250:139:38",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "5769746e6574507269636546656564733a20",
                                          "id": 8890,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "24314:20:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80",
                                            "typeString": "literal_string \"WitnetPriceFeeds: \""
                                          },
                                          "value": "WitnetPriceFeeds: "
                                        },
                                        {
                                          "id": 8891,
                                          "name": "reason",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8883,
                                          "src": "24354:6:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_03af880ada0e925147c7fcad59cbcde50a96d020ae2f5698170791f3d4804d80",
                                            "typeString": "literal_string \"WitnetPriceFeeds: \""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 8888,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "24279:3:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 8889,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "24283:12:38",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "24279:16:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 8892,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "24279:96:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 8887,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "24272:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 8886,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "24272:6:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 8893,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "24272:104:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 8885,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967277,
                                  4294967277
                                ],
                                "referencedDeclaration": 4294967277,
                                "src": "24265:6:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 8894,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24265:112:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 8895,
                            "nodeType": "ExpressionStatement",
                            "src": "24265:112:38"
                          }
                        ]
                      },
                      "errorName": "Error",
                      "id": 8897,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 8884,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 8883,
                            "mutability": "mutable",
                            "name": "reason",
                            "nameLocation": "24242:6:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 8897,
                            "src": "24228:20:38",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 8882,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "24228:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "24227:22:38"
                      },
                      "src": "24216:173:38"
                    }
                  ],
                  "externalCall": {
                    "arguments": [
                      {
                        "id": 8872,
                        "name": "__prefix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 691,
                        "src": "24127:8:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 8873,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8865,
                        "src": "24137:7:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "expression": {
                        "id": 8870,
                        "name": "WitnetPriceFeedsLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23444,
                        "src": "24091:19:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetPriceFeedsLib_$23444_$",
                          "typeString": "type(library WitnetPriceFeedsLib)"
                        }
                      },
                      "id": 8871,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24111:15:38",
                      "memberName": "validateCaption",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23427,
                      "src": "24091:35:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint8_$",
                        "typeString": "function (bytes32,string memory) pure returns (uint8)"
                      }
                    },
                    "id": 8874,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24091:54:38",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "id": 8898,
                  "nodeType": "TryStatement",
                  "src": "24087:302:38"
                }
              ]
            },
            "id": 8900,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_validateCaption",
            "nameLocation": "23990:16:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8866,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8865,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "24023:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8900,
                  "src": "24007:23:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 8864,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "24007:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24006:25:38"
            },
            "returnParameters": {
              "id": 8869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8868,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 8900,
                  "src": "24064:5:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 8867,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "24064:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24063:7:38"
            },
            "scope": 9169,
            "src": "23981:415:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8944,
              "nodeType": "Block",
              "src": "24551:209:38",
              "statements": [
                {
                  "assignments": [
                    8912
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8912,
                      "mutability": "mutable",
                      "name": "_partial",
                      "nameLocation": "24567:8:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 8944,
                      "src": "24562:13:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8911,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "24562:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8918,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8917,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 8913,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967281,
                        "src": "24578:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 8914,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24582:5:38",
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "src": "24578:9:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "expression": {
                        "id": 8915,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8903,
                        "src": "24590:5:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 8916,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24596:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "24590:12:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "24578:24:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24562:40:38"
                },
                {
                  "body": {
                    "id": 8942,
                    "nodeType": "Block",
                    "src": "24660:93:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8940,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 8930,
                            "name": "_usedFunds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8909,
                            "src": "24675:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 8935,
                                  "name": "_deps",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8903,
                                  "src": "24725:5:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                    "typeString": "bytes4[] memory"
                                  }
                                },
                                "id": 8937,
                                "indexExpression": {
                                  "id": 8936,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8920,
                                  "src": "24731:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "24725:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 8938,
                                "name": "sla",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8906,
                                "src": "24737:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                  "typeString": "struct WitnetV2.RadonSLA memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                  "typeString": "struct WitnetV2.RadonSLA memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  },
                                  {
                                    "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                    "typeString": "struct WitnetV2.RadonSLA memory"
                                  }
                                ],
                                "expression": {
                                  "id": 8931,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967268,
                                  "src": "24689:4:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_WitnetPriceFeedsDefault_$9169",
                                    "typeString": "contract WitnetPriceFeedsDefault"
                                  }
                                },
                                "id": 8932,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24694:13:38",
                                "memberName": "requestUpdate",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7819,
                                "src": "24689:18:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_payable$_t_bytes4_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$",
                                  "typeString": "function (bytes4,struct WitnetV2.RadonSLA memory) payable external returns (uint256)"
                                }
                              },
                              "id": 8934,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "names": [
                                "value"
                              ],
                              "nodeType": "FunctionCallOptions",
                              "options": [
                                {
                                  "id": 8933,
                                  "name": "_partial",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8912,
                                  "src": "24715:8:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "src": "24689:35:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_payable$_t_bytes4_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$value",
                                "typeString": "function (bytes4,struct WitnetV2.RadonSLA memory) payable external returns (uint256)"
                              }
                            },
                            "id": 8939,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24689:52:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "24675:66:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8941,
                        "nodeType": "ExpressionStatement",
                        "src": "24675:66:38"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8926,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 8923,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8920,
                      "src": "24632:3:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 8924,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8903,
                        "src": "24638:5:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 8925,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24644:6:38",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "24638:12:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "24632:18:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8943,
                  "initializationExpression": {
                    "assignments": [
                      8920
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8920,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "24623:3:38",
                        "nodeType": "VariableDeclaration",
                        "scope": 8943,
                        "src": "24618:8:38",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8919,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "24618:4:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 8922,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 8921,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "24629:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "24618:12:38"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 8928,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "24652:6:38",
                      "subExpression": {
                        "id": 8927,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8920,
                        "src": "24652:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8929,
                    "nodeType": "ExpressionStatement",
                    "src": "24652:6:38"
                  },
                  "nodeType": "ForStatement",
                  "src": "24613:140:38"
                }
              ]
            },
            "id": 8945,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__requestUpdate",
            "nameLocation": "24413:15:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8907,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8903,
                  "mutability": "mutable",
                  "name": "_deps",
                  "nameLocation": "24445:5:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8945,
                  "src": "24429:21:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8901,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "24429:6:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 8902,
                    "nodeType": "ArrayTypeName",
                    "src": "24429:8:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8906,
                  "mutability": "mutable",
                  "name": "sla",
                  "nameLocation": "24477:3:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8945,
                  "src": "24452:28:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                    "typeString": "struct WitnetV2.RadonSLA"
                  },
                  "typeName": {
                    "id": 8905,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8904,
                      "name": "WitnetV2.RadonSLA",
                      "nameLocations": [
                        "24452:8:38",
                        "24461:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23503,
                      "src": "24452:17:38"
                    },
                    "referencedDeclaration": 23503,
                    "src": "24452:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                      "typeString": "struct WitnetV2.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24428:53:38"
            },
            "returnParameters": {
              "id": 8910,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8909,
                  "mutability": "mutable",
                  "name": "_usedFunds",
                  "nameLocation": "24534:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 8945,
                  "src": "24526:18:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8908,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24526:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24525:20:38"
            },
            "scope": 9169,
            "src": "24404:356:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9167,
              "nodeType": "Block",
              "src": "24912:3107:38",
              "statements": [
                {
                  "assignments": [
                    8957
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8957,
                      "mutability": "mutable",
                      "name": "__feed",
                      "nameLocation": "24938:6:38",
                      "nodeType": "VariableDeclaration",
                      "scope": 9167,
                      "src": "24923:21:38",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                        "typeString": "struct WitnetPriceFeedsData.Record"
                      },
                      "typeName": {
                        "id": 8956,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 8955,
                          "name": "Record",
                          "nameLocations": [
                            "24923:6:38"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 12432,
                          "src": "24923:6:38"
                        },
                        "referencedDeclaration": 12432,
                        "src": "24923:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 8961,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 8959,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8947,
                        "src": "24958:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 8958,
                      "name": "__records_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12457,
                      "src": "24947:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$12432_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitnetPriceFeedsData.Record storage pointer)"
                      }
                    },
                    "id": 8960,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24947:18:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24923:42:38"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8965,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 8962,
                        "name": "__feed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8957,
                        "src": "24980:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                        }
                      },
                      "id": 8963,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24987:7:38",
                      "memberName": "radHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12425,
                      "src": "24980:14:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 8964,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "24998:1:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "24980:19:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 9131,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 9125,
                          "name": "__feed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8957,
                          "src": "27617:6:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                          }
                        },
                        "id": 9126,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "27624:6:38",
                        "memberName": "solver",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12427,
                        "src": "27617:13:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 9129,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "27642:1:38",
                            "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": 9128,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "27634:7:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 9127,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "27634:7:38",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 9130,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "27634:10:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "27617:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 9146,
                      "nodeType": "Block",
                      "src": "27784:67:38",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "5769746e6574507269636546656564733a20756e6b6e6f776e2066656564",
                                "id": 9143,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "27806:32:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3",
                                  "typeString": "literal_string \"WitnetPriceFeeds: unknown feed\""
                                },
                                "value": "WitnetPriceFeeds: unknown feed"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_400dbf279d8bd7181ad52115d17bd24f14e4228610568438e68430f78c8cc3b3",
                                  "typeString": "literal_string \"WitnetPriceFeeds: unknown feed\""
                                }
                              ],
                              "id": 9142,
                              "name": "revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4294967277,
                                4294967277
                              ],
                              "referencedDeclaration": 4294967277,
                              "src": "27799:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) pure"
                              }
                            },
                            "id": 9144,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "27799:40:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 9145,
                          "nodeType": "ExpressionStatement",
                          "src": "27799:40:38"
                        }
                      ]
                    },
                    "id": 9147,
                    "nodeType": "IfStatement",
                    "src": "27613:238:38",
                    "trueBody": {
                      "id": 9141,
                      "nodeType": "Block",
                      "src": "27646:132:38",
                      "statements": [
                        {
                          "expression": {
                            "id": 9139,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 9132,
                              "name": "_usedFunds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8953,
                              "src": "27661:10:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 9135,
                                      "name": "feedId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8947,
                                      "src": "27716:6:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    ],
                                    "id": 9134,
                                    "name": "_depsOf",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12522,
                                    "src": "27708:7:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                                      "typeString": "function (bytes4) view returns (bytes4[] memory)"
                                    }
                                  },
                                  "id": 9136,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "27708:15:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                    "typeString": "bytes4[] memory"
                                  }
                                },
                                {
                                  "id": 9137,
                                  "name": "querySLA",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8950,
                                  "src": "27743:8:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                    "typeString": "struct WitnetV2.RadonSLA memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                    "typeString": "bytes4[] memory"
                                  },
                                  {
                                    "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                    "typeString": "struct WitnetV2.RadonSLA memory"
                                  }
                                ],
                                "id": 9133,
                                "name": "__requestUpdate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  8945,
                                  9168
                                ],
                                "referencedDeclaration": 8945,
                                "src": "27674:15:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$",
                                  "typeString": "function (bytes4[] memory,struct WitnetV2.RadonSLA memory) returns (uint256)"
                                }
                              },
                              "id": 9138,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "27674:92:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "27661:105:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 9140,
                          "nodeType": "ExpressionStatement",
                          "src": "27661:105:38"
                        }
                      ]
                    }
                  },
                  "id": 9148,
                  "nodeType": "IfStatement",
                  "src": "24976:2875:38",
                  "trueBody": {
                    "id": 9124,
                    "nodeType": "Block",
                    "src": "25001:2606:38",
                    "statements": [
                      {
                        "expression": {
                          "id": 8971,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 8966,
                            "name": "_usedFunds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8953,
                            "src": "25016:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 8968,
                                  "name": "tx",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967270,
                                  "src": "25051:2:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_transaction",
                                    "typeString": "tx"
                                  }
                                },
                                "id": 8969,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "25054:8:38",
                                "memberName": "gasprice",
                                "nodeType": "MemberAccess",
                                "src": "25051:11:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 8967,
                              "name": "estimateUpdateBaseFee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7548,
                              "src": "25029:21:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256) view returns (uint256)"
                              }
                            },
                            "id": 8970,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "25029:34:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "25016:47:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8972,
                        "nodeType": "ExpressionStatement",
                        "src": "25016:47:38"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 8977,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 8974,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "25104:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 8975,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "25108:5:38",
                                "memberName": "value",
                                "nodeType": "MemberAccess",
                                "src": "25104:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "id": 8976,
                                "name": "_usedFunds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8953,
                                "src": "25117:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "25104:23:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "5769746e6574507269636546656564733a20696e73756666696369656e7420726577617264",
                              "id": 8978,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "25147:39:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_674fbcbe269b23c2e5542bee3f0fc3cf5aad6b15a3459c6156f9fd10004e1725",
                                "typeString": "literal_string \"WitnetPriceFeeds: insufficient reward\""
                              },
                              "value": "WitnetPriceFeeds: insufficient reward"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_674fbcbe269b23c2e5542bee3f0fc3cf5aad6b15a3459c6156f9fd10004e1725",
                                "typeString": "literal_string \"WitnetPriceFeeds: insufficient reward\""
                              }
                            ],
                            "id": 8973,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "25078:7:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 8979,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "25078:123:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8980,
                        "nodeType": "ExpressionStatement",
                        "src": "25078:123:38"
                      },
                      {
                        "assignments": [
                          8982
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8982,
                            "mutability": "mutable",
                            "name": "_latestId",
                            "nameLocation": "25221:9:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 9124,
                            "src": "25216:14:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 8981,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "25216:4:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8985,
                        "initialValue": {
                          "expression": {
                            "id": 8983,
                            "name": "__feed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8957,
                            "src": "25233:6:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                              "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                            }
                          },
                          "id": 8984,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25240:19:38",
                          "memberName": "latestUpdateQueryId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12423,
                          "src": "25233:26:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "25216:43:38"
                      },
                      {
                        "assignments": [
                          8990
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8990,
                            "mutability": "mutable",
                            "name": "_latestStatus",
                            "nameLocation": "25298:13:38",
                            "nodeType": "VariableDeclaration",
                            "scope": 9124,
                            "src": "25274:37:38",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            },
                            "typeName": {
                              "id": 8989,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 8988,
                                "name": "WitnetV2.ResponseStatus",
                                "nameLocations": [
                                  "25274:8:38",
                                  "25283:14:38"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 23496,
                                "src": "25274:23:38"
                              },
                              "referencedDeclaration": 23496,
                              "src": "25274:23:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                "typeString": "enum WitnetV2.ResponseStatus"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 8994,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 8992,
                              "name": "_latestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8982,
                              "src": "25340:9:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8991,
                            "name": "_checkQueryResponseStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8779,
                            "src": "25314:25:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ResponseStatus_$23496_$",
                              "typeString": "function (uint256) view returns (enum WitnetV2.ResponseStatus)"
                            }
                          },
                          "id": 8993,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "25314:36:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                            "typeString": "enum WitnetV2.ResponseStatus"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "25274:76:38"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                            "typeString": "enum WitnetV2.ResponseStatus"
                          },
                          "id": 8999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 8995,
                            "name": "_latestStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8990,
                            "src": "25369:13:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 8996,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "25386:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 8997,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "25395:14:38",
                              "memberName": "ResponseStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23496,
                              "src": "25386:23:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                "typeString": "type(enum WitnetV2.ResponseStatus)"
                              }
                            },
                            "id": 8998,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "25410:8:38",
                            "memberName": "Awaiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23491,
                            "src": "25386:32:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            }
                          },
                          "src": "25369:49:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 9122,
                          "nodeType": "Block",
                          "src": "26285:1299:38",
                          "statements": [
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                  "typeString": "enum WitnetV2.ResponseStatus"
                                },
                                "id": 9064,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 9060,
                                  "name": "_latestStatus",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8990,
                                  "src": "26371:13:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                    "typeString": "enum WitnetV2.ResponseStatus"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 9061,
                                      "name": "WitnetV2",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23640,
                                      "src": "26388:8:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                        "typeString": "type(library WitnetV2)"
                                      }
                                    },
                                    "id": 9062,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "26397:14:38",
                                    "memberName": "ResponseStatus",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 23496,
                                    "src": "26388:23:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                      "typeString": "type(enum WitnetV2.ResponseStatus)"
                                    }
                                  },
                                  "id": 9063,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "26412:5:38",
                                  "memberName": "Ready",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23492,
                                  "src": "26388:29:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                    "typeString": "enum WitnetV2.ResponseStatus"
                                  }
                                },
                                "src": "26371:46:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 9094,
                                "nodeType": "Block",
                                "src": "26737:245:38",
                                "statements": [
                                  {
                                    "clauses": [
                                      {
                                        "block": {
                                          "id": 9089,
                                          "nodeType": "Block",
                                          "src": "26952:2:38",
                                          "statements": []
                                        },
                                        "errorName": "",
                                        "id": 9090,
                                        "nodeType": "TryCatchClause",
                                        "src": "26952:2:38"
                                      },
                                      {
                                        "block": {
                                          "id": 9091,
                                          "nodeType": "Block",
                                          "src": "26961:2:38",
                                          "statements": []
                                        },
                                        "errorName": "",
                                        "id": 9092,
                                        "nodeType": "TryCatchClause",
                                        "src": "26955:8:38"
                                      }
                                    ],
                                    "externalCall": {
                                      "arguments": [
                                        {
                                          "id": 9087,
                                          "name": "_latestId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8982,
                                          "src": "26941:9:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "id": 9085,
                                          "name": "witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7070,
                                          "src": "26915:6:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                            "typeString": "contract WitnetOracle"
                                          }
                                        },
                                        "id": 9086,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "26922:18:38",
                                        "memberName": "fetchQueryResponse",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 13134,
                                        "src": "26915:25:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                                          "typeString": "function (uint256) external returns (struct WitnetV2.Response memory)"
                                        }
                                      },
                                      "id": 9088,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "26915:36:38",
                                      "tryCall": true,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                                        "typeString": "struct WitnetV2.Response memory"
                                      }
                                    },
                                    "id": 9093,
                                    "nodeType": "TryStatement",
                                    "src": "26911:52:38"
                                  }
                                ]
                              },
                              "id": 9095,
                              "nodeType": "IfStatement",
                              "src": "26367:615:38",
                              "trueBody": {
                                "id": 9084,
                                "nodeType": "Block",
                                "src": "26419:312:38",
                                "statements": [
                                  {
                                    "condition": {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 9068,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "expression": {
                                          "id": 9065,
                                          "name": "__feed",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8957,
                                          "src": "26524:6:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                          }
                                        },
                                        "id": 9066,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "26531:16:38",
                                        "memberName": "lastValidQueryId",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 12421,
                                        "src": "26524:23:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": ">",
                                      "rightExpression": {
                                        "hexValue": "30",
                                        "id": 9067,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "26550:1:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      },
                                      "src": "26524:27:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "id": 9077,
                                    "nodeType": "IfStatement",
                                    "src": "26520:134:38",
                                    "trueBody": {
                                      "id": 9076,
                                      "nodeType": "Block",
                                      "src": "26553:101:38",
                                      "statements": [
                                        {
                                          "expression": {
                                            "arguments": [
                                              {
                                                "expression": {
                                                  "id": 9072,
                                                  "name": "__feed",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 8957,
                                                  "src": "26606:6:38",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                                    "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                                  }
                                                },
                                                "id": 9073,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "26613:16:38",
                                                "memberName": "lastValidQueryId",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 12421,
                                                "src": "26606:23:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "expression": {
                                                "id": 9069,
                                                "name": "witnet",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7070,
                                                "src": "26580:6:38",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                                  "typeString": "contract WitnetOracle"
                                                }
                                              },
                                              "id": 9071,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "26587:18:38",
                                              "memberName": "fetchQueryResponse",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 13134,
                                              "src": "26580:25:38",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                                                "typeString": "function (uint256) external returns (struct WitnetV2.Response memory)"
                                              }
                                            },
                                            "id": 9074,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "26580:50:38",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                                              "typeString": "struct WitnetV2.Response memory"
                                            }
                                          },
                                          "id": 9075,
                                          "nodeType": "ExpressionStatement",
                                          "src": "26580:50:38"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "expression": {
                                      "id": 9082,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "expression": {
                                          "id": 9078,
                                          "name": "__feed",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8957,
                                          "src": "26676:6:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                            "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                          }
                                        },
                                        "id": 9080,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": true,
                                        "memberLocation": "26683:16:38",
                                        "memberName": "lastValidQueryId",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 12421,
                                        "src": "26676:23:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "id": 9081,
                                        "name": "_latestId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8982,
                                        "src": "26702:9:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "26676:35:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 9083,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26676:35:38"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "id": 9105,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 9096,
                                  "name": "_latestId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8982,
                                  "src": "27052:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 9101,
                                        "name": "__feed",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8957,
                                        "src": "27124:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                          "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                        }
                                      },
                                      "id": 9102,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "27131:7:38",
                                      "memberName": "radHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 12425,
                                      "src": "27124:14:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    {
                                      "id": 9103,
                                      "name": "querySLA",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8950,
                                      "src": "27161:8:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                        "typeString": "struct WitnetV2.RadonSLA memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      {
                                        "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                        "typeString": "struct WitnetV2.RadonSLA memory"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                          "typeString": "struct WitnetV2.RadonSLA memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 9097,
                                        "name": "witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7070,
                                        "src": "27064:6:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                          "typeString": "contract WitnetOracle"
                                        }
                                      },
                                      "id": 9098,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "27071:11:38",
                                      "memberName": "postRequest",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 13232,
                                      "src": "27064:18:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_payable$_t_bytes32_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$",
                                        "typeString": "function (bytes32,struct WitnetV2.RadonSLA memory) payable external returns (uint256)"
                                      }
                                    },
                                    "id": 9100,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "names": [
                                      "value"
                                    ],
                                    "nodeType": "FunctionCallOptions",
                                    "options": [
                                      {
                                        "id": 9099,
                                        "name": "_usedFunds",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8953,
                                        "src": "27090:10:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "src": "27064:37:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_payable$_t_bytes32_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_uint256_$value",
                                      "typeString": "function (bytes32,struct WitnetV2.RadonSLA memory) payable external returns (uint256)"
                                    }
                                  },
                                  "id": 9104,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "27064:124:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "27052:136:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9106,
                              "nodeType": "ExpressionStatement",
                              "src": "27052:136:38"
                            },
                            {
                              "expression": {
                                "id": 9111,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 9107,
                                    "name": "__feed",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8957,
                                    "src": "27251:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                                      "typeString": "struct WitnetPriceFeedsData.Record storage pointer"
                                    }
                                  },
                                  "id": 9109,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "27258:19:38",
                                  "memberName": "latestUpdateQueryId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 12423,
                                  "src": "27251:26:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "id": 9110,
                                  "name": "_latestId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8982,
                                  "src": "27280:9:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "27251:38:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9112,
                              "nodeType": "ExpressionStatement",
                              "src": "27251:38:38"
                            },
                            {
                              "eventCall": {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 9114,
                                      "name": "tx",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967270,
                                      "src": "27414:2:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_transaction",
                                        "typeString": "tx"
                                      }
                                    },
                                    "id": 9115,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "27417:6:38",
                                    "memberName": "origin",
                                    "nodeType": "MemberAccess",
                                    "src": "27414:9:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "id": 9116,
                                    "name": "feedId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8947,
                                    "src": "27447:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  {
                                    "id": 9117,
                                    "name": "_latestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8982,
                                    "src": "27476:9:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "id": 9118,
                                    "name": "_usedFunds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8953,
                                    "src": "27508:10:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "id": 9119,
                                    "name": "querySLA",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8950,
                                    "src": "27541:8:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                      "typeString": "struct WitnetV2.RadonSLA memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                                      "typeString": "struct WitnetV2.RadonSLA memory"
                                    }
                                  ],
                                  "id": 9113,
                                  "name": "WitnetFeedUpdateRequested",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    12867,
                                    12877
                                  ],
                                  "referencedDeclaration": 12867,
                                  "src": "27366:25:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_uint256_$_t_uint256_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$__$",
                                    "typeString": "function (address,bytes4,uint256,uint256,struct WitnetV2.RadonSLA memory)"
                                  }
                                },
                                "id": 9120,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "27366:202:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 9121,
                              "nodeType": "EmitStatement",
                              "src": "27361:207:38"
                            }
                          ]
                        },
                        "id": 9123,
                        "nodeType": "IfStatement",
                        "src": "25365:2219:38",
                        "trueBody": {
                          "id": 9059,
                          "nodeType": "Block",
                          "src": "25420:859:38",
                          "statements": [
                            {
                              "assignments": [
                                9004
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 9004,
                                  "mutability": "mutable",
                                  "name": "_request",
                                  "nameLocation": "25599:8:38",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 9059,
                                  "src": "25575:32:38",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Request_$23476_memory_ptr",
                                    "typeString": "struct WitnetV2.Request"
                                  },
                                  "typeName": {
                                    "id": 9003,
                                    "nodeType": "UserDefinedTypeName",
                                    "pathNode": {
                                      "id": 9002,
                                      "name": "WitnetV2.Request",
                                      "nameLocations": [
                                        "25575:8:38",
                                        "25584:7:38"
                                      ],
                                      "nodeType": "IdentifierPath",
                                      "referencedDeclaration": 23476,
                                      "src": "25575:16:38"
                                    },
                                    "referencedDeclaration": 23476,
                                    "src": "25575:16:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 9009,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "id": 9007,
                                    "name": "_latestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8982,
                                    "src": "25633:9:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "id": 9005,
                                    "name": "witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7070,
                                    "src": "25610:6:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                      "typeString": "contract WitnetOracle"
                                    }
                                  },
                                  "id": 9006,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "25617:15:38",
                                  "memberName": "getQueryRequest",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 13160,
                                  "src": "25610:22:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Request_$23476_memory_ptr_$",
                                    "typeString": "function (uint256) view external returns (struct WitnetV2.Request memory)"
                                  }
                                },
                                "id": 9008,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "25610:33:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Request_$23476_memory_ptr",
                                  "typeString": "struct WitnetV2.Request memory"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "25575:68:38"
                            },
                            {
                              "assignments": [
                                9011
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 9011,
                                  "mutability": "mutable",
                                  "name": "_deltaReward",
                                  "nameLocation": "25666:12:38",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 9059,
                                  "src": "25662:16:38",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  },
                                  "typeName": {
                                    "id": 9010,
                                    "name": "int",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "25662:3:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_int256",
                                      "typeString": "int256"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 9025,
                              "initialValue": {
                                "commonType": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                },
                                "id": 9024,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 9016,
                                            "name": "_request",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9004,
                                            "src": "25691:8:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Request_$23476_memory_ptr",
                                              "typeString": "struct WitnetV2.Request memory"
                                            }
                                          },
                                          "id": 9017,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "25700:9:38",
                                          "memberName": "evmReward",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 23468,
                                          "src": "25691:18:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint72",
                                            "typeString": "uint72"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint72",
                                            "typeString": "uint72"
                                          }
                                        ],
                                        "id": 9015,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "25685:5:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_int72_$",
                                          "typeString": "type(int72)"
                                        },
                                        "typeName": {
                                          "id": 9014,
                                          "name": "int72",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "25685:5:38",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 9018,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "25685:25:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_int72",
                                        "typeString": "int72"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_int72",
                                        "typeString": "int72"
                                      }
                                    ],
                                    "id": 9013,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "25681:3:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_int256_$",
                                      "typeString": "type(int256)"
                                    },
                                    "typeName": {
                                      "id": 9012,
                                      "name": "int",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "25681:3:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 9019,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "25681:30:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "id": 9022,
                                      "name": "_usedFunds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8953,
                                      "src": "25718:10:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 9021,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "25714:3:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_int256_$",
                                      "typeString": "type(int256)"
                                    },
                                    "typeName": {
                                      "id": 9020,
                                      "name": "int",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "25714:3:38",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 9023,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "25714:15:38",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "25681:48:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "25662:67:38"
                            },
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                },
                                "id": 9028,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 9026,
                                  "name": "_deltaReward",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9011,
                                  "src": "25752:12:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 9027,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "25767:1:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "25752:16:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 9057,
                                "nodeType": "Block",
                                "src": "26207:57:38",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 9055,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "id": 9053,
                                        "name": "_usedFunds",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8953,
                                        "src": "26230:10:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "hexValue": "30",
                                        "id": 9054,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "26243:1:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      },
                                      "src": "26230:14:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 9056,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26230:14:38"
                                  }
                                ]
                              },
                              "id": 9058,
                              "nodeType": "IfStatement",
                              "src": "25748:516:38",
                              "trueBody": {
                                "id": 9052,
                                "nodeType": "Block",
                                "src": "25770:431:38",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 9034,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "id": 9029,
                                        "name": "_usedFunds",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8953,
                                        "src": "25793:10:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "arguments": [
                                          {
                                            "id": 9032,
                                            "name": "_deltaReward",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9011,
                                            "src": "25811:12:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 9031,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "25806:4:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": {
                                            "id": 9030,
                                            "name": "uint",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "25806:4:38",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 9033,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25806:18:38",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "25793:31:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 9035,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25793:31:38"
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 9041,
                                          "name": "_latestId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8982,
                                          "src": "25895:9:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "expression": {
                                            "id": 9036,
                                            "name": "witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7070,
                                            "src": "25847:6:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_WitnetOracle_$749",
                                              "typeString": "contract WitnetOracle"
                                            }
                                          },
                                          "id": 9038,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "25854:21:38",
                                          "memberName": "upgradeQueryEvmReward",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 13264,
                                          "src": "25847:28:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_external_payable$_t_uint256_$returns$__$",
                                            "typeString": "function (uint256) payable external"
                                          }
                                        },
                                        "id": 9040,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "names": [
                                          "value"
                                        ],
                                        "nodeType": "FunctionCallOptions",
                                        "options": [
                                          {
                                            "id": 9039,
                                            "name": "_usedFunds",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8953,
                                            "src": "25883:10:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "src": "25847:47:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_external_payable$_t_uint256_$returns$__$value",
                                          "typeString": "function (uint256) payable external"
                                        }
                                      },
                                      "id": 9042,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "25847:58:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 9043,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25847:58:38"
                                  },
                                  {
                                    "eventCall": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 9045,
                                            "name": "tx",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967270,
                                            "src": "26041:2:38",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_transaction",
                                              "typeString": "tx"
                                            }
                                          },
                                          "id": 9046,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "26044:6:38",
                                          "memberName": "origin",
                                          "nodeType": "MemberAccess",
                                          "src": "26041:9:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "id": 9047,
                                          "name": "feedId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8947,
                                          "src": "26078:6:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          }
                                        },
                                        {
                                          "id": 9048,
                                          "name": "_latestId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8982,
                                          "src": "26112:9:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        {
                                          "id": 9049,
                                          "name": "_usedFunds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8953,
                                          "src": "26148:10:38",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          },
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "id": 9044,
                                        "name": "WitnetFeedUpdateRequested",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [
                                          12867,
                                          12877
                                        ],
                                        "referencedDeclaration": 12877,
                                        "src": "25989:25:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_uint256_$_t_uint256_$returns$__$",
                                          "typeString": "function (address,bytes4,uint256,uint256)"
                                        }
                                      },
                                      "id": 9050,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "25989:192:38",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 9051,
                                    "nodeType": "EmitStatement",
                                    "src": "25984:197:38"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9152,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 9149,
                      "name": "_usedFunds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8953,
                      "src": "27865:10:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 9150,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967281,
                        "src": "27878:3:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9151,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "27882:5:38",
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "src": "27878:9:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "27865:22:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9166,
                  "nodeType": "IfStatement",
                  "src": "27861:151:38",
                  "trueBody": {
                    "id": 9165,
                    "nodeType": "Block",
                    "src": "27889:123:38",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9162,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 9159,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "27977:3:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 9160,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "27981:5:38",
                                "memberName": "value",
                                "nodeType": "MemberAccess",
                                "src": "27977:9:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "id": 9161,
                                "name": "_usedFunds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8953,
                                "src": "27989:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "27977:22:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 9155,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967281,
                                    "src": "27956:3:38",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 9156,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "27960:6:38",
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "src": "27956:10:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 9154,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "27948:8:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_payable_$",
                                  "typeString": "type(address payable)"
                                },
                                "typeName": {
                                  "id": 9153,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "27948:8:38",
                                  "stateMutability": "payable",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 9157,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "27948:19:38",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address_payable",
                                "typeString": "address payable"
                              }
                            },
                            "id": 9158,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "27968:8:38",
                            "memberName": "transfer",
                            "nodeType": "MemberAccess",
                            "src": "27948:28:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 9163,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "27948:52:38",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 9164,
                        "nodeType": "ExpressionStatement",
                        "src": "27948:52:38"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 9168,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__requestUpdate",
            "nameLocation": "24777:15:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8951,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8947,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "24800:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 9168,
                  "src": "24793:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 8946,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "24793:6:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8950,
                  "mutability": "mutable",
                  "name": "querySLA",
                  "nameLocation": "24833:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 9168,
                  "src": "24808:33:38",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$23503_memory_ptr",
                    "typeString": "struct WitnetV2.RadonSLA"
                  },
                  "typeName": {
                    "id": 8949,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 8948,
                      "name": "WitnetV2.RadonSLA",
                      "nameLocations": [
                        "24808:8:38",
                        "24817:8:38"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23503,
                      "src": "24808:17:38"
                    },
                    "referencedDeclaration": 23503,
                    "src": "24808:17:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                      "typeString": "struct WitnetV2.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24792:50:38"
            },
            "returnParameters": {
              "id": 8954,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8953,
                  "mutability": "mutable",
                  "name": "_usedFunds",
                  "nameLocation": "24895:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 9168,
                  "src": "24887:18:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8952,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24887:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24886:20:38"
            },
            "scope": 9169,
            "src": "24768:3251:38",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 9170,
        "src": "481:27543:38",
        "usedErrors": [
          16,
          19,
          267,
          272,
          523,
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": [
          24,
          278,
          12837,
          12843,
          12849,
          12854,
          12867,
          12877,
          13278,
          13285,
          13294,
          13307,
          13314,
          13495,
          24023,
          24232
        ]
      }
    ],
    "src": "35:27991:38"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {
    "322": {
      "events": {},
      "links": {
        "WitnetPriceFeedsLib": "0x579b4aD5E67E5B491a33A033A02A70769D7AF837"
      },
      "address": "0x8280929b7F6adcE1CfA15b63cbEC1A7FD8cAEf11"
    },
    "11155111": {
      "events": {},
      "links": {
        "WitnetPriceFeedsLib": "0x579b4aD5E67E5B491a33A033A02A70769D7AF837"
      },
      "address": "0x327470b70d0cCF47cB89a1f3475DE23Ac2437c9e"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.409Z",
  "devdoc": {
    "author": "Guillermo Díaz <guillermo@otherplane.com>",
    "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": "WitnetPriceFeeds: Price Feeds live repository reliant on the Witnet Oracle blockchain.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      },
      "WitnetQuery(uint256,uint256,(uint8,uint64))": {
        "notice": "Emitted every time a new query containing some verified data request is posted to the WRB."
      },
      "WitnetQueryResponse(uint256,uint256)": {
        "notice": "Emitted when a query with no callback gets reported into the WRB."
      },
      "WitnetQueryResponseDelivered(uint256,uint256,uint256)": {
        "notice": "Emitted when a query with a callback gets successfully reported into the WRB."
      },
      "WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)": {
        "notice": "Emitted when a query with a callback cannot get reported into the WRB."
      },
      "WitnetQueryRewardUpgraded(uint256,uint256)": {
        "notice": "Emitted when the reward of some not-yet reported query is upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "footprint()": {
        "notice": "Returns unique hash determined by the combination of data sources being usedon non-routed price feeds, and dependencies of routed price feeds."
      },
      "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."
      },
      "latestPrice(bytes4)": {
        "notice": "====================================================================================================== --- IWitnetFeeds extension ---------------------------------------------------------------------------"
      },
      "lookupDecimals(bytes4)": {
        "notice": "====================================================================================================== --- IFeeds extension ---------------------------------------------------------------------------------"
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "version": 1
  }
}