{
  "contractName": "WitnetMockedOracle",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetMockedRequestBytecodes",
          "name": "_registry",
          "type": "address"
        }
      ],
      "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": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "BatchReportError",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Received",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersUnset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "baseAddr",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "baseCodehash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "versionTag",
          "type": "string"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": 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"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "channel",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currency",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "_resultMaxSize",
          "type": "uint16"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint24",
          "name": "_callbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "estimateBaseFeeWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_txGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nanoWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_revenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_expenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "_bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "fetchQueryResponse",
      "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": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNextQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "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": "request",
              "type": "tuple"
            },
            {
              "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": "response",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryEvmReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryRequest",
      "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": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponse",
      "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": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponseStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultCborBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultError",
      "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": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        }
      ],
      "name": "getQueryStatusBatch",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus[]",
          "name": "_status",
          "type": "uint8[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_reporter",
          "type": "address"
        }
      ],
      "name": "isReporter",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "postRequest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_queryUnverifiedBytecode",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "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": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_witnetQueryResultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "queryId",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "queryResultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "queryResultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "queryResultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitnetOracleReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_reporters",
          "type": "address[]"
        }
      ],
      "name": "setReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_exReporters",
          "type": "address[]"
        }
      ],
      "name": "unsetReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "upgradeQueryEvmReward",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract WitnetMockedRequestFactory",
          "name": "_factory",
          "type": "address"
        }
      ],
      "name": "setFactory",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetMockedRequestBytecodes\",\"name\":\"_registry\",\"type\":\"address\"}],\"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\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":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\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_resultMaxSize\",\"type\":\"uint16\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"estimateBaseFeeWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nanoWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_revenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_expenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"fetchQueryResponse\",\"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\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"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\":\"request\",\"type\":\"tuple\"},{\"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\":\"response\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryEvmReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryRequest\",\"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\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponse\",\"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\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponseStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultCborBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultError\",\"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\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"}],\"name\":\"getQueryStatusBatch\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus[]\",\"name\":\"_status\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_queryUnverifiedBytecode\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"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\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_witnetQueryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"queryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"queryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"queryResultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetOracleReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract WitnetMockedRequestFactory\",\"name\":\"_factory\",\"type\":\"address\"}],\"name\":\"setFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"upgradeQueryEvmReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE THE `WitnetOracle` CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.\",\"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\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"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.\"},\"estimateBaseFee(uint256,bytes32)\":{\"details\":\"Underestimates if the size of returned data is greater than `resultMaxSize`. \",\"params\":{\"gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"radHash\":\"The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry.\"}},\"estimateBaseFee(uint256,uint16)\":{\"details\":\"Underestimates if the size of returned data is greater than `_resultMaxSize`. \",\"params\":{\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"_resultMaxSize\":\"Maximum expected size of returned data (in bytes).\"}},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"params\":{\"_callbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"extractWitnetDataRequests(uint256[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"_queryIds\":\"Query identifies.\"}},\"fetchQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryRequest(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\"}},\"getQueryResponseStatus(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultCborBytes(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultError(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"details\":\"Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.\",\"params\":{\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\",\"_queryUnverifiedBytecode\":\"The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"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.\"},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique identifier of the data request.\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\",\"_witnetQueryResultTimestamp\":\"Timestamp at which the reported value was captured by the Witnet blockchain. \"}},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"details\":\"Fails only if called from unauthorized address.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_reporters\":\"List of addresses to be added to the active reporters control list.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeQueryEvmReward(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Posted' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}}},\"title\":\"Mocked implementation of `WitnetOracle`.\",\"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\":{\"estimateBaseFee(uint256,bytes32)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,uint16)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"notice\":\"Estimate the minimum reward required for posting a data request with a callback.\"},\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings.\"},\"extractWitnetDataRequests(uint256[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\"},\"fetchQueryResponse(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQuery(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryEvmReward(uint256)\":{\"notice\":\"Gets the current EVM reward the report can claim, if not done yet.\"},\"getQueryRequest(uint256)\":{\"notice\":\"Retrieves the RAD hash and SLA parameters of the given query.\"},\"getQueryResponse(uint256)\":{\"notice\":\"Retrieves the Witnet-provable result, and metadata, to a previously posted request.    \"},\"getQueryResponseStatus(uint256)\":{\"notice\":\"Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue.\"},\"getQueryResultCborBytes(uint256)\":{\"notice\":\"Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query.\"},\"getQueryResultError(uint256)\":{\"notice\":\"Gets error code identifying some possible failure on the resolution of the given query.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request.\"},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result.\"},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request. \"},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request.\"},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeQueryEvmReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/mocks/WitnetMockedOracle.sol\":\"WitnetMockedOracle\"},\"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/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@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/WitnetRandomness.sol\":{\"keccak256\":\"0xa18727bf1e426ea2cd9c51e29f20090d2e305bd4548225b612deac8a175eb290\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://358755b23533fd4e59c26de21a5996a494867ff9324f5a8969674cc50f0de371\",\"dweb:/ipfs/QmSbLdscuJTortmR4LoCriKbGTSepUgMuxptN9xCsFuFJ1\"]},\"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/apps/UsingWitnet.sol\":{\"keccak256\":\"0x3fe6f2f1162bd1c128fb6aad2db81eaa1fdf04b5d15a5eeadf3e44bc81e2d4ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://927de4c99298ede8a240305bfd8e9daa5c79a32ed68cef19ece9b7f5bb37860b\",\"dweb:/ipfs/QmeZEbXpCTHegD6H7cVDipyXLYHUE4e3C66XojzYk8CpE4\"]},\"project:/contracts/apps/WitnetRandomnessV2.sol\":{\"keccak256\":\"0x37d7fd285315e04e985c4292b48f7fc76d7f32b3394385c99428d8ac80ede389\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2ed10cbe60c7b3c68e5d6f01b02d10d8724863194c77fb293f74cd673cc0e64\",\"dweb:/ipfs/QmfTeQaZm6Fcn9pEfKjxdcrQWg9infgKiaXxwfzYRapb8N\"]},\"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/WitnetOracleTrustableBase.sol\":{\"keccak256\":\"0xeb14d9ac86e9983b41cc3a307acd4e6546c9c3f790234ca1c208aa4c189a27df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73c7f71f22a0cf9e70681641b131ba42233c6bd03c4170d5ac153153de206c04\",\"dweb:/ipfs/QmPMKe45EGWbUoDPTF2Y8VDZ8Q3eEfbJFHt8DW9Y5x6NYn\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol\":{\"keccak256\":\"0x3e4ce76102aef381af61296fb19e5fa1e36682cb13f0c21b882b590b06efc218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae39d2d0043a5b073177eb94f876dda7a2531d99f01162852d513dee36a7465e\",\"dweb:/ipfs/QmdGnCi4m478KEUdFv5w9Zqmmdc1SgmYB6KeRtbW4MC41P\"]},\"project:/contracts/core/defaults/WitnetPriceFeedsDefault.sol\":{\"keccak256\":\"0x29b7f4f082c2d6f6f58ab10224ec808fd900baf1bc338286a1d45c2af20014f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0ae76597a1d376a3ed0d68aa9f1458345ead06b73fb4151dd6b6348d30265d2\",\"dweb:/ipfs/QmSfScGKHTWZSwdDnsR7pYWDxCEvHtJKNEZK5tZEocv2cd\"]},\"project:/contracts/core/defaults/WitnetRequestBytecodesDefault.sol\":{\"keccak256\":\"0xc374ee78ae25ddf24168134d9f57f39db3ad4dc7eeac74db872acf16a7e63973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed598640e3dbff2d9aaf29000196a6f781546462eae00a3bb5a91f1db96b7bbe\",\"dweb:/ipfs/QmZUkx21gb1hz75Xm6bLeknXJewy3cjaCEkC3YdPw9niN5\"]},\"project:/contracts/core/defaults/WitnetRequestFactoryDefault.sol\":{\"keccak256\":\"0x2a5c91bb433afaa9ddfa674a1847bbdc5b0a59594a6a2ceed863fbb6c1473ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80e9db7f239a5c67b0f521206e553576b127045a8c3852a9c8ca5eded8d32305\",\"dweb:/ipfs/QmZBEBX18QU6h2v7P6tnYDE7x1S9RXTMWkJimyHEQ7w25a\"]},\"project:/contracts/data/WitnetOracleDataLib.sol\":{\"keccak256\":\"0x03c8b61605f0c5324047aa99c896fe189933e3e9a59b070b9b3ea6141f7db960\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cedd0416337f718a44bbbaf53efa99ba490f7de1e6ab45f6bdf29e03082aa29d\",\"dweb:/ipfs/Qmb8RUaZEFX5CvE1VTYpTrm1EhM62gAUcZ4dGt3w39gZBA\"]},\"project:/contracts/data/WitnetPriceFeedsData.sol\":{\"keccak256\":\"0x8cc848254deb42ab5c6d29d02c312c42cbee2b88f9dfed4289f990faa9079787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23922b87c483c75397f5a5a8837ac8feef98517893dc4f38ec3f8f830263f15c\",\"dweb:/ipfs/QmUk9Re19ft1qqpPbG4RDMuZRe9Cj7dChHhhVmvjeH3GLj\"]},\"project:/contracts/data/WitnetRequestBytecodesData.sol\":{\"keccak256\":\"0xfe7cab06f3999216c6db1a280a85370a17cb51d9e487052ab8d18547661d55d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b53c61a3476416c420658b04b7e1a77c2e634e469ea3837dcbbcb86c17ea2cb2\",\"dweb:/ipfs/QmcBRZPfAcqk4zq5VrPH38hvYhYx7wJUgmAiYrKqLyn8JX\"]},\"project:/contracts/data/WitnetRequestFactoryData.sol\":{\"keccak256\":\"0xb3528c3284a976fb0a16612099f32210bdbda911864c3c8eaac5c6080ac48c5d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://480ba9c2845d017fd3f9e629b09847ae541a9051f6a1f7fdc44d4b3cb48ec527\",\"dweb:/ipfs/Qmew29QFLgNSfC74qFP5TbitnvzfC7hMRyehNqkxmjtexX\"]},\"project:/contracts/interfaces/IFeeds.sol\":{\"keccak256\":\"0x4edf84815f844f8ca6e4a277fab21082d3bb2b5e6c2b50198551b0f9aad88121\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://848dd5a610dbb08b566ed9878d09e1c2d37d1849327834b61d0d7ba35beab80f\",\"dweb:/ipfs/Qma4VvwjgTB7Na5WEv6tdxs6VbTuMtkW8GMJzxFsXiqbVE\"]},\"project:/contracts/interfaces/IWitnetConsumer.sol\":{\"keccak256\":\"0xf90fbcf0a59428c0ac13a3903214656060a95175adfdef8c11a7e16675b849e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2606640d3f343051ea18dfb8e136dfdb73ceecd8016c82ddb73d67ad39a30e0\",\"dweb:/ipfs/QmTADVW4M8pge6pGfenFAauEDk4yZEy78o5ksZiKGwP3DT\"]},\"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/IWitnetOracleReporter.sol\":{\"keccak256\":\"0xf4726c5c522b99ce01c2c870c259ebb8dc1563a25df3d715ed78cff89a8bb122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d4d7205c416fc2927856c2ab64a7d2d5374900c6ad41320f512a0f2e17f215\",\"dweb:/ipfs/QmW8gmJ5rkd4K7ahPQ6KuCQ5wdnhoZJTpSL5iPkZcg2dAe\"]},\"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/IWitnetRandomness.sol\":{\"keccak256\":\"0xe1dece4459bee43e03cbc83e3feb455de406e633c778ac70e3da5d0c65402d68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d79acbdbddc0882e6067d4722184423102b78fa1ca9fd94e4d0b9c6dd9f4485\",\"dweb:/ipfs/QmVs5it4bV2cqZPfdCejmHh3SybxciuQoKE8pswUWqPc1R\"]},\"project:/contracts/interfaces/IWitnetRandomnessAdmin.sol\":{\"keccak256\":\"0x496cd3d89fb8bb44dc627da202372fab60a5422b12d00fe97582a8fa1e6fd856\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f15e8dc494e45e3a9540f3c8ca1d996faed9ae1de3d931d5e7acd87ca15adc\",\"dweb:/ipfs/QmYEQx7KtDRiUzUDfLRm1WnguF6LkiYtLVq6nkRg9CraS4\"]},\"project:/contracts/interfaces/IWitnetRandomnessEvents.sol\":{\"keccak256\":\"0x3d5510777da725c0772a04bc40a967c07713139bc50bb732462baccc1acfb0eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://481f334e116fa761e2d9fdc668cf9278c8d192f0b0511066637dab6011fac908\",\"dweb:/ipfs/QmS1Vh6Xab5oBmTxLempvGvpAsVfEQthbrg1aWXe2SqRRa\"]},\"project:/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"keccak256\":\"0xf7dccb4e47d281ce229a9dc219fb2b30dea26f6ad80225f21c75b103d5ab1230\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://814f304ff435f64bbcac9ac512ca636c3245f522f87285909c9a9e0ec6dc5368\",\"dweb:/ipfs/QmXtmoYRgm2iXQmLUmVoRz8d5PNqrZXid4SgX4BoDs8rcm\"]},\"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/WitnetEncodingLib.sol\":{\"keccak256\":\"0x2c2ccc824f28dccdfb0b51c26a09b5cf1dc3c0519933e01b1a4211cee3634cb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f5b7e3db8dcbdf521ad510ae3edbbc5accccbfabaf31a50bfe21ef9f5c40973\",\"dweb:/ipfs/QmZktfyrGF5pmaYerDA6oZYVwRt2HEeGk1Q7ruAG66QtXh\"]},\"project:/contracts/libs/WitnetErrorsLib.sol\":{\"keccak256\":\"0x6cc28a70034f65099ec7e69d03a6c9cb643a77032c0e6d76532b77b036ef8436\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44eff62b48c4daf5606fae9b04dca6201af4336909d5966c2a2503c866b9efb0\",\"dweb:/ipfs/QmSc4qNo2ymtCevvgDKESYuVi1JD7PCWbMKfDoEhNwj4aS\"]},\"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/mocks/WitnetMockedOracle.sol\":{\"keccak256\":\"0x7e3dacf761ab257a5d9d374a046585f02f6d562c5ba20ee07d3c0a67a84d47f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f080e65979686b334b76911e9045503d4dab7a1a556dca4237d636dc22d749b\",\"dweb:/ipfs/QmQqy7Jri7qJFZ4KwsFRaRCTSBT2DoUAF8tzjgLN32JUcx\"]},\"project:/contracts/mocks/WitnetMockedPriceFeeds.sol\":{\"keccak256\":\"0xc0744563d93708e73b6443586689edbcce73e650cdd6c269145b13ede114b933\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://773fde874532cb96b4daa8cd7421b9762bcd88901313c994979920d1506a675e\",\"dweb:/ipfs/QmeFVt1SKHcvx8uaEHAAaStjntLTCtdUXK9WTWjqNcoVf4\"]},\"project:/contracts/mocks/WitnetMockedRandomness.sol\":{\"keccak256\":\"0xe16d2ed1ee2c8a969dfa2909aa70be88c98436747b5931f1ea18bd0cf162a5ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c76e5859ba319681c3984d03409bad2e1cb9831288693b27c3dbbab7a9abf150\",\"dweb:/ipfs/QmYGaZKF3ER7sq7vntC1G2jRWLg5fNNhAHwsMNTNauWJrG\"]},\"project:/contracts/mocks/WitnetMockedRequestBytecodes.sol\":{\"keccak256\":\"0x2894dae277c770f306b470bb430a29539da13232e89e9a21348fcc602e417190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f26af44ca845526dccb5a42faa56ee87d4b60deae665b5d70ad8a7ecc76867e6\",\"dweb:/ipfs/QmfTUQT8kRSENTeNjdFF5WbjHtNhroYkjRe8BzddNKh8ez\"]},\"project:/contracts/mocks/WitnetMockedRequestFactory.sol\":{\"keccak256\":\"0x5534149bde65bb7c8133582d23d6ca84d285c292a7af616747df635393067d61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90457003dd0ffe181111c92e9cebc6a189e486a6bec554af4366fe87ffcde146\",\"dweb:/ipfs/QmapnUAXKpp9MpiKhw93oL6TaiBzja2m6WaHUyaK8zJQAN\"]},\"project:/contracts/patterns/Clonable.sol\":{\"keccak256\":\"0xdfaf080d882e5b4f5e419da4ed2a5f1f0367eb2449b37b9d62d6b3d5649c3b6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed194f0ddb44f9c2e14156090f1f43c055d4fda23115041ab928da9ca538f6ed\",\"dweb:/ipfs/QmZnD4Z9yrT1SY5HTZagwv1bT9FJfsgmntZHf9qzLwDX7K\"]},\"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/Payable.sol\":{\"keccak256\":\"0x83401b23b1c144561e674e86738e0d907c8fa15d90d79254415b3f5f215035c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e031f9a24c7030cd2d160a64a581fd3a69a06d7dc71bcf704b48f391c3d63fc6\",\"dweb:/ipfs/QmVpX6PdfgPGJZp3W5H4CGqVUqmNx9ttb4V5cz3YgBTypQ\"]},\"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": "0x610240604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051615dcd380380615dcd833981016040819052610041916102ec565b6000816000651b5bd8dad95960d21b61ea6061fde862011170614e208787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100d857604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100e1816101b2565b5030608052151560c0526001600281905560e0929092528051602090910120610120526001600160a01b03928316610140529682166101a0525093909316610180525050506101c0949094526101e092909252610200526102205260009450925061014a915050565b604051908082528060200260200182016040528015610173578160200160208202803683370190505b509050338160008151811061018a5761018a61031c565b6001600160a01b03909216602092830291909101909101526101ab816101ce565b505061037f565b600180546001600160a01b03191690556101cb81610278565b50565b60005b815181101561023d5760008282815181106101ee576101ee61031c565b6020026020010151905060016102086102c860201b60201c565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016101d1565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca018160405161026d9190610332565b60405180910390a150565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e18390565b6000602082840312156102fe57600080fd5b81516001600160a01b038116811461031557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156103735783516001600160a01b03168352928401929184019160010161034e565b50909695505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161594861048560003960008181610bc30152611ea301526000610bef015260008181610c2f0152610c7701526000611ecd0152600081816117a8015281816117f0015281816118bb01526119780152600081816106f00152818161194e01528181611b0601526120eb0152600061089b015260006109b6015260006105390152600061096401526000611b9901526000818161056a0152611d7b015260005050600081816104ef01528181610864015281816116dd0152818161173701528181611a3e0152611a6001526159486000f3fe6080604052600436106102815760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610986578063e5a6b10f146109a4578063e900aa33146109d8578063ec5946db146109eb578063f2fde38b146109fe578063f61921b214610a1e576102be565b8063aeb2ffc1146108bd578063b207e730146108ea578063bff852fa1461090a578063c45a01551461091f578063c805dd0f1461093d578063d5f3948814610952576102be565b806393d5185c1161011357806393d5185c146107c05780639cc56e67146107f5578063a3ff5b0014610815578063a77fc1a414610828578063a9e954b914610855578063adb7c3f714610889576102be565b80637b103999146106de5780637bbdb96e146107125780637bd88218146107625780638d3d8b38146107825780638da5cb5b146107a2576102be565b80635001f3b5116101f35780636280bce8116101ac5780636280bce8146105fd5780636b58960a1461061d5780636f07abcc1461063d5780636fdaab7e1461066a578063715018a6146106b457806379ba5097146106c9576102be565b80635001f3b5146104e057806352d1902d146105275780635479d9401461055b57806354fd4d501461058e578063581f5094146105b05780635bb47808146105dd576102be565b8063234fe6e311610245578063234fe6e31461041357806328a78d9b146104405780633dc2b7a214610460578063439fab911461047357806345ea6c17146104935780634c9f72e3146104c0576102be565b8063044ad7be1461033657806305e742ef1461036b57806306eb2c421461039957806308b7e85e146103b95780630aa4112a146103e6576102be565b366102be576102bc604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a3e565b005b3480156102ca57600080fd5b506102bc6102dc60003560f81c610a87565b6102ed60ff60003560f01c16610a87565b6102fe60ff60003560e81c16610a87565b61030f60ff60003560e01c16610a87565b604051602001610322949392919061432b565b604051602081830303815290604052610a3e565b34801561034257600080fd5b506103566103513660046143bf565b610b79565b60405190151581526020015b60405180910390f35b34801561037757600080fd5b5061038b6103863660046143ef565b610bbb565b604051908152602001610362565b3480156103a557600080fd5b5061038b6103b4366004614466565b610cac565b3480156103c557600080fd5b506103d96103d43660046144a7565b611016565b6040516103629190614540565b3480156103f257600080fd5b506104066104013660046144a7565b6112ad565b60405161036291906145d5565b34801561041f57600080fd5b5061043361042e3660046144a7565b611413565b6040516103629190614612565b34801561044c57600080fd5b506102bc61045b366004614685565b61141e565b61038b61046e36600461473b565b6114d7565b34801561047f57600080fd5b506102bc61048e366004614786565b6115e1565b34801561049f57600080fd5b506104b36104ae366004614466565b611ad5565b604051610362919061480b565b3480156104cc57600080fd5b506102bc6104db366004614685565b611b7e565b3480156104ec57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610362565b34801561053357600080fd5b5061038b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561056757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b34801561059a57600080fd5b506105a3611b92565b604051610362919061486f565b3480156105bc57600080fd5b506105d06105cb366004614466565b611bc2565b6040516103629190614892565b3480156105e957600080fd5b506102bc6105f83660046143bf565b611c7d565b34801561060957600080fd5b5061038b61061836600461491e565b611ca7565b34801561062957600080fd5b506103566106383660046143bf565b611d77565b34801561064957600080fd5b5061065d6106583660046144a7565b611dcd565b6040516103629190614970565b34801561067657600080fd5b5061038b6106853660046144a7565b60009081526000805160206158f38339815191526020526040902054600160b81b90046001600160481b031690565b3480156106c057600080fd5b506102bc611dd8565b3480156106d557600080fd5b506102bc611dec565b3480156106ea57600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071e57600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610362565b34801561076e57600080fd5b5061038b61077d36600461498e565b611e63565b34801561078e57600080fd5b506105a361079d3660046144a7565b611efb565b3480156107ae57600080fd5b506000546001600160a01b031661050f565b3480156107cc57600080fd5b506107e06107db3660046149be565b611f99565b60408051928352602083019190915201610362565b34801561080157600080fd5b5061038b610810366004614a3b565b6120c8565b61038b610823366004614a5d565b61219e565b34801561083457600080fd5b506108486108433660046144a7565b6122f8565b6040516103629190614ad2565b34801561086157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f61038b565b34801561089557600080fd5b506107497f000000000000000000000000000000000000000000000000000000000000000081565b3480156108c957600080fd5b506108dd6108d83660046144a7565b612471565b6040516103629190614afe565b3480156108f657600080fd5b5061038b610905366004614b4b565b6126a7565b34801561091657600080fd5b506105a36127c2565b34801561092b57600080fd5b506003546001600160a01b031661050f565b34801561094957600080fd5b5061038b6127f9565b34801561095e57600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506001546001600160a01b031661050f565b3480156109b057600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b61038b6109e6366004614bb2565b612816565b6102bc6109f93660046144a7565b6128d5565b348015610a0a57600080fd5b506102bc610a193660046143bf565b6129d3565b348015610a2a57600080fd5b506103d9610a393660046144a7565b612a44565b610a466127c2565b81604051602001610a58929190614bef565b60408051601f198184030181529082905262461bcd60e51b8252610a7e9160040161486f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610ab9601085614c58565b610ac4906030614c7a565b90506000610ad3601086614c93565b610ade906030614c7a565b905060398260ff161115610afa57610af7600783614c7a565b91505b60398160ff161115610b1457610b11600782614c7a565b90505b8160f81b83600081518110610b2b57610b2b614cb5565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b5957610b59614cb5565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610be97f00000000000000000000000000000000000000000000000000000000000000006003614ccb565b610c13907f0000000000000000000000000000000000000000000000000000000000000000614ce2565b9050808362ffffff161080610c55575080610c5362ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614ce2565b105b15610c6c57610c648185614ccb565b915050610bb5565b610c9b62ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614ce2565b610c649085614ccb565b5092915050565b6000610d0e6000805160206158d38339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612b66565b60005b82811015611005576001610d48858584818110610d3057610d30614cb5565b9050602002810190610d429190614cf5565b35612b78565b6003811115610d5957610d596145e8565b14610e3e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d9157610d91614cb5565b9050602002810190610da39190614cf5565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dde90600190600401614970565b600060405180830381865af4158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e239190810190614d64565b604051610e31929190614d98565b60405180910390a1610ffd565b838382818110610e5057610e50614cb5565b9050602002810190610e629190614cf5565b610e73906040810190602001614db1565b63ffffffff161580610eb65750838382818110610e9257610e92614cb5565b9050602002810190610ea49190614cf5565b610eb2906060810190614dcc565b1590505b15610f34577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610eee57610eee614cb5565b9050602002810190610f009190614cf5565b35610f096127c2565b604051602001610f199190614e12565b60408051601f1981840301815290829052610e319291614d98565b610ff0848483818110610f4957610f49614cb5565b9050602002810190610f5b9190614cf5565b35858584818110610f6e57610f6e614cb5565b9050602002810190610f809190614cf5565b610f91906040810190602001614db1565b868685818110610fa357610fa3614cb5565b9050602002810190610fb59190614cf5565b60400135878786818110610fcb57610fcb614cb5565b9050602002810190610fdd9190614cf5565b610feb906060810190614dcc565b612bf9565b610ffa9083614ce2565b91505b600101610d11565b508015610bb557610bb53382612dd8565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091528160038061105083612b78565b6003811115611061576110616145e8565b146110f0576040516353e8875160e11b81526110eb9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b600060405180830381865af41580156110be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190614d64565b610a3e565b6112a6565b836111396110fd82612e0e565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612b66565b61114285612e0e565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906111a790614e4b565b80601f01602080910402602001604051908101604052809291908181526020018280546111d390614e4b565b80156112205780601f106111f557610100808354040283529160200191611220565b820191906000526020600020905b81548152906001019060200180831161120357829003601f168201915b50505050508152505093506112406000805160206158d383398151915290565b60008681526001918201602052604081208181559182908290611265908301826141ef565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906112a060068501826141ef565b50505050505b5050919050565b6112f16040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112fa82612e0e565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061135290614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461137e90614e4b565b80156113cb5780601f106113a0576101008083540402835291602001916113cb565b820191906000526020600020905b8154815290600101906020018083116113ae57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610bb582612e2c565b611426612f44565b60005b815181101561149c57600082828151811061144657611446614cb5565b6020026020010151905060006114676000805160206158d383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611429565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114cc9190614e7f565b60405180910390a150565b60006114e33a846120c8565b61151c81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612b66565b61155a61152a82600a614ccb565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612b66565b8261159061156782612f71565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612b66565b61159c85856000612fca565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516115d193929190614ee4565b60405180910390a1505092915050565b6000546001600160a01b03166060816116345760608380602001905181019061160a9190614f2b565b90935090506116188361309e565b8080602001905181019061162c9190614f7b565b91505061168e565b611677826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612b66565b8280602001905181019061168b9190614f7b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116ff57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611735576117356040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a3e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526117d9907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612b66565b6118ac630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118709190615014565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612b66565b611a33306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b919061503e565b6001600160a01b0316148015611a0357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f8919061503e565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612b66565b611a3c816130b7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611abb611b92565b604051611ac8919061486f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611b32907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161505b565b600060405180830381865af4158015611b4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b7791908101906150a5565b9392505050565b611b86612f44565b611b8f816130b7565b50565b6060611bbd7f000000000000000000000000000000000000000000000000000000000000000061315d565b905090565b6060816001600160401b03811115611bdc57611bdc614620565b604051908082528060200260200182016040528015611c05578160200160208202803683370190505b50905060005b82811015610ca557611c34848483818110611c2857611c28614cb5565b90506020020135612b78565b828281518110611c4657611c46614cb5565b60200260200101906003811115611c5f57611c5f6145e8565b90816003811115611c7257611c726145e8565b905250600101611c0b565b611c85612f44565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000611cc06000805160206158d3833981519152610cc1565b84600180611ccd83612b78565b6003811115611cde57611cde6145e8565b14611d23576040516353e8875160e11b8152611d1e9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b611d6d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611d5d9085151590612b66565b611d6a8742888888613201565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610bb55750816001600160a01b0316611dbd6000546001600160a01b031690565b6001600160a01b03161492915050565b6000610bb582612b78565b611de0612f44565b611dea600061309e565b565b60015433906001600160a01b03168114611e5a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a7e565b611b8f8161309e565b6000602061ffff831615611e8157611e7c600184615160565b611e84565b60005b611e8e919061517b565b611e9990600461519c565b611ec79061ffff167f0000000000000000000000000000000000000000000000000000000000000000614ccb565b611ef1907f0000000000000000000000000000000000000000000000000000000000000000614ce2565b611b779084614ccb565b6060611f0682613225565b6002018054611f1490614e4b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4090614e4b565b8015611f8d5780601f10611f6257610100808354040283529160200191611f8d565b820191906000526020600020905b815481529060010190602001808311611f7057829003601f168201915b50505050509050919050565b60008060005b878110156120bc576001611fbe8a8a84818110611c2857611c28614cb5565b6003811115611fcf57611fcf6145e8565b036120b4576000611ff78a8a84818110611feb57611feb614cb5565b90506020020135612e0e565b805490915061201690600160b81b90046001600160481b031685614ce2565b8154909450600160a01b900462ffffff1615612056578054612045908790600160a01b900462ffffff16610bbb565b61204f9084614ce2565b9250612086565b60028101541561206e576120458682600201546120c8565b612079866000611e63565b6120839084614ce2565b92505b8461209382600301613246565b6001600160401b03166120a69190614ccb565b6120b09084614ce2565b9250505b600101611f9f565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215691906151b7565b905061218c60008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612b66565b6121968482611e63565b949350505050565b60003382612258823b1580159061221957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa1580156121f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221991906151d4565b801561222a575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612b66565b6122633a5b85610bbb565b61226d81346114e9565b61227b61152a82600a614ccb565b8561228861156782612f71565b61229460008888612fca565b945088886122a187612e0e565b600101916122b0919083615246565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516122e493929190614ee4565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152600061231883612e2c565b905073__WitnetErrorsLib_______________________63a62b84628261233e86613225565b6002016040518363ffffffff1660e01b815260040161235e929190615306565b600060405180830381865af492505050801561239c57506040513d6000823e601f3d908101601f1916820160405261239991908101906153a5565b60015b611b77576123a861543e565b806308c379a00361240457506123bc61545a565b806123c75750612406565b604080518082019091528060008152602001826040516020016123ea91906154e3565b60408051601f198184030181529190529052949350505050565b505b3d808015612430576040519150601f19603f3d011682016040523d82523d6000602084013e612435565b606091505b506040805180820190915280600081526020016040518060600160405280602181526020016158b2602191399052949350505050565b50919050565b612479614229565b60008281526000805160206158f383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a0850191906124f490614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461252090614e4b565b801561256d5780601f106125425761010080835404028352916020019161256d565b820191906000526020600020905b81548152906001019060200180831161255057829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff16928101929092526005850154606083015260068501805494909301939192909160808401919061261b90614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461264790614e4b565b80156126945780601f1061266957610100808354040283529160200191612694565b820191906000526020600020905b81548152906001019060200180831161267757829003601f168201915b5050509190925250505090525092915050565b60006126c06000805160206158d3833981519152610cc1565b856001806126cd83612b78565b60038111156126de576126de6145e8565b14612723576040516353e8875160e11b815261271e9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b6127b7565b61276d60008863ffffffff161180156127425750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612b66565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127a79085151590612b66565b6127b48888888888613201565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c6544656661756c7400000000602082015290565b60006000805160206158d383398151915254611bbd906001614ce2565b60003382612854823b1580159061221957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024016121d8565b61285d3a61225d565b61286781346114e9565b61287561152a82600a614ccb565b8561288261156782612f71565b61288d888888612fca565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516128c293929190614ee4565b60405180910390a1505050509392505050565b806001806128e283612b78565b60038111156128f3576128f36145e8565b14612938576040516353e8875160e11b81526129339073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b505050565b600061294384612e0e565b90503481548290601790612968908490600160b81b90046001600160481b031661551c565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b6129db612f44565b600180546001600160a01b0383166001600160a01b03199091168117909155612a0c6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a7a82613225565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612add90614e4b565b80601f0160208091040260200160405190810160405280929190818152602001828054612b0990614e4b565b8015612b565780601f10612b2b57610100808354040283529160200191612b56565b820191906000526020600020905b815481529060010190602001808311612b3957829003601f168201915b5050505050815250509050919050565b81612b7457612b7481610a3e565b5050565b60008181526000805160206158f3833981519152602052604081206004810154600160e01b900463ffffffff1615612bd7576004810154600160a01b90046001600160401b03164310612bce5750600392915050565b50600292915050565b80546001600160a01b031615612bf05750600192915050565b50600092915050565b600080612c0587612e0e565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612d5157805460009081908190612c74908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613276565b9250925092508115612cc457604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612d2e565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612d115760405180606001604052806029815260200161588960299139612d13565b865b604051612d259695949392919061553c565b60405180910390a15b612d498a8a8a6040518060200160405280600081525061360c565b505050612dce565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612dce87878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360c92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612933573d6000803e3d6000fd5b60009081526000805160206158f38339815191526020526040902090565b600080612e3883612b78565b90506003816003811115612e4e57612e4e6145e8565b03612f005760008381526000805160206158f38339815191526020526040812060060180549091908290612e8190614e4b565b90501115612ef6578054601b60fb1b908290600090612e9f90614e4b565b8110612ead57612ead614cb5565b815460011615612ecc5790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612eec576002612196565b6003949350505050565b5060059392505050565b6001816003811115612f1457612f146145e8565b03612f225750600192915050565b6002816003811115612f3657612f366145e8565b03612bf05750600492915050565b6000546001600160a01b03163314611dea5760405163118cdaa760e01b8152336004820152602401610a7e565b600080612f846040840160208501615599565b6001600160401b0316118015612fa957506000612fa460208401846155b6565b60ff16115b8015610bb55750607f612fbf60208401846155b6565b60ff16111592915050565b60006000805160206158d38339815191528054600090612fe9906155d3565b918290555090506000612ffb82612e0e565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b602082015291925061303b916001600160a01b039091161590612b66565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b031617815560028101859055836003820161309382826155ec565b905050509392505050565b600180546001600160a01b0319169055611b8f816136d9565b60005b815181101561312d5760008282815181106130d7576130d7614cb5565b6020026020010151905060016130f86000805160206158d383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016130ba565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114cc9190614e7f565b6060600061316a83613729565b6001600160401b0381111561318157613181614620565b6040519080825280601f01601f1916602001820160405280156131ab576020820181803683370190505b50905060005b8151811015610ca5578381602081106131cc576131cc614cb5565b1a60f81b8282815181106131e2576131e2614cb5565b60200101906001600160f81b031916908160001a9053506001016131b1565b60006132108686868686612bf9565b905061321c3382612dd8565b95945050505050565b60009081526000805160206158f38339815191526020526040902060040190565b80546000906132599060ff166003614c7a565b8254610bb59160ff169061010090046001600160401b031661563c565b60008060605a9250601b60fb1b878760008161329457613294614cb5565b9050013560f81c60f81b6001600160f81b031916036134e45760006132f66132f189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061376792505050565b61378c565b905060028151101561341d57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b81526004016133aa969594939291906156e8565b600060405180830381600088803b1580156133c457600080fd5b5087f1935050505080156133d6575060015b613414576133e261543e565b806308c379a00361340857506133f661545a565b80613401575061340a565b91506134de565b505b3d6000803e3d6000fd5b600192506134de565b856001600160a01b03166363febc9c868d8d8d436134548860008151811061344757613447614cb5565b602002602001015161393c565b60fe811115613465576134656145e8565b8860008151811061347857613478614cb5565b60200260200101516040518863ffffffff1660e01b81526004016134a1969594939291906156e8565b600060405180830381600088803b1580156134bb57600080fd5b5087f1935050505080156134cd575060015b6134d9576133e261543e565b600192505b506135f2565b846001600160a01b031663bcc6307b858c8c8c436135378e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061376792505050565b6040518763ffffffff1660e01b8152600401613557959493929190615735565b600060405180830381600088803b15801561357157600080fd5b5087f193505050508015613583575060015b6135ed5761358f61543e565b806308c379a0036135b557506135a361545a565b806135ae57506135b7565b90506135f2565b505b3d8080156135e1576040519150601f19603f3d011682016040523d82523d6000602084013e6135e6565b606091505b50506135f2565b600191505b5a6135fd9084615769565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061365485612e0e565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136d0908261577c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137625781816020811061374757613747614cb5565b1a60f81b6001600160f81b031916156137625760010161372c565b919050565b61376f6142ab565b6040805180820190915282815260006020820152611b778161399f565b60608160048060ff16826040015160ff16146137cc57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b60006137e085600001518660600151613abf565b90506137ed81600161583b565b6001600160401b03166001600160401b0381111561380d5761380d614620565b60405190808252806020026020018201604052801561384657816020015b6138336142ab565b81526020019060019003908161382b5790505b50935060005b816001600160401b031681101561390c5761386686613b87565b955061387186613baf565b85828151811061388357613883614cb5565b6020026020010181905250600460ff16866040015160ff16036138dc5760006138ab8761378c565b905080600182516138bc9190615769565b815181106138cc576138cc614cb5565b6020026020010151965050613904565b600560ff16866040015160ff16036138f95760006138ab87613c47565b61390286613e31565b505b60010161384c565b508484826001600160401b03168151811061392957613929614cb5565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461397c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b61398e84600001518560600151613abf565b6001600160401b0316949350505050565b6139a76142ab565b81515182906000036139cc576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a4f576139ec89613ff6565b9550816139f8816155d3565b6007600589901c169650601f881695509250506005198501613a47576020890151613a238a86613abf565b9350808a60200151613a359190615769565b613a3f9084614ce2565b9250506139dd565b5060006139dd565b600760ff86161115613a795760405163bd2ac87960e01b815260ff86166004820152602401610a7e565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ad7575060ff8116610bb5565b8160ff16601803613af557613aeb83613ff6565b60ff169050610bb5565b8160ff16601903613b1457613b0983614058565b61ffff169050610bb5565b8160ff16601a03613b3557613b28836140c4565b63ffffffff169050610bb5565b8160ff16601b03613b5057613b4983614123565b9050610bb5565b8160ff16601f03613b6957506001600160401b03610bb5565b604051636d785b1360e01b815260ff83166004820152602401610a7e565b613b8f6142ab565b81518051516020909101511015613bab578151610bb59061399f565b5090565b613bb76142ab565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c8757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b6000613c9b85600001518660600151613abf565b613ca690600261563c565b9050613cb381600161583b565b6001600160401b03166001600160401b03811115613cd357613cd3614620565b604051908082528060200260200182016040528015613d0c57816020015b613cf96142ab565b815260200190600190039081613cf15790505b50935060005b816001600160401b031681101561390c57613d2c86613b87565b9550613d3786613baf565b858281518110613d4957613d49614cb5565b6020908102919091010152613d5f60028261585b565b158015613d745750604086015160ff16600314155b15613da257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a7e565b604086015160ff1660041480613dbf5750604086015160ff166005145b15613e1e57604086015160009060ff16600414613de457613ddf87613c47565b613ded565b613ded8761378c565b90508060018251613dfe9190615769565b81518110613e0e57613e0e614cb5565b6020026020010151965050613e29565b613e2786613e31565b505b600101613d12565b613e396142ab565b604082015160ff161580613e545750604082015160ff166001145b80613e8d5750604082015160ff166007148015613e7957506019826060015160ff1610155b8015613e8d5750601b826060015160ff1611155b15613ec057613e9b82614182565b6001600160401b03168260000151602001818151613eb99190614ce2565b9052505090565b604082015160ff1660031480613edd5750604082015160ff166002145b15613f21576000613ef683600001518460600151613abf565b9050806001600160401b03168360000151602001818151613f179190614ce2565b905250613bab9050565b604082015160ff1660041480613f3e5750604082015160ff166005145b15613f6757613f5582600001518360600151613abf565b6001600160401b031660808301525090565b604082015160ff166007141580613f995750816060015160ff16601414158015613f995750816060015160ff16601514155b15613bab5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a7e565b600081602001518260000151518082111561402e576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b835160208501805180830160010151955090819061404b826155d3565b8152505050505050919050565b60008160200151600261406b9190614ce2565b82515180821115614099576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516002818401810151965090916140b78284614ce2565b9052509395945050505050565b6000816020015160046140d79190614ce2565b82515180821115614105576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516004818401810151965090916140b78284614ce2565b6000816020015160086141369190614ce2565b82515180821115614164576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516008818401810151965090916140b78284614ce2565b60006018826060015160ff16101561419c57506000919050565b601c826060015160ff1610156141cb57601882606001516141bd919061586f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a7e565b5080546141fb90614e4b565b6000825580601f1061420b575050565b601f016020900490600052602060002090810190611b8f91906142f2565b60405180604001604052806142786040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613bab57600081556001016142f3565b60005b8381101561432257818101518382015260200161430a565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614359816013850160208a01614307565b855190830190614370816013840160208a01614307565b8551910190614386816013840160208901614307565b845191019061439c816013840160208801614307565b016013019695505050505050565b6001600160a01b0381168114611b8f57600080fd5b6000602082840312156143d157600080fd5b8135611b77816143aa565b803562ffffff8116811461376257600080fd5b6000806040838503121561440257600080fd5b82359150614412602084016143dc565b90509250929050565b60008083601f84011261442d57600080fd5b5081356001600160401b0381111561444457600080fd5b6020830191508360208260051b850101111561445f57600080fd5b9250929050565b6000806020838503121561447957600080fd5b82356001600160401b0381111561448f57600080fd5b61449b8582860161441b565b90969095509350505050565b6000602082840312156144b957600080fd5b5035919050565b600081518084526144d8816020860160208601614307565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261219660a08501826144c0565b602081526000611b7760208301846144ec565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261459c60e08501826144c0565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b776020830184614553565b634e487b7160e01b600052602160045260246000fd5b6006811061460e5761460e6145e8565b9052565b60208101610bb582846145fe565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561465b5761465b614620565b6040525050565b60006001600160401b0382111561467b5761467b614620565b5060051b60200190565b6000602080838503121561469857600080fd5b82356001600160401b038111156146ae57600080fd5b8301601f810185136146bf57600080fd5b80356146ca81614662565b6040516146d78282614636565b82815260059290921b83018401918481019150878311156146f757600080fd5b928401925b8284101561471e57833561470f816143aa565b825292840192908401906146fc565b979650505050505050565b60006040828403121561246b57600080fd5b6000806060838503121561474e57600080fd5b823591506144128460208501614729565b60006001600160401b0382111561477857614778614620565b50601f01601f191660200190565b60006020828403121561479857600080fd5b81356001600160401b038111156147ae57600080fd5b8201601f810184136147bf57600080fd5b80356147ca8161475f565b6040516147d78282614636565b8281528660208486010111156147ec57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561486257603f198886030184526148508583516144c0565b94509285019290850190600101614834565b5092979650505050505050565b602081526000611b7760208301846144c0565b6004811061460e5761460e6145e8565b6020808252825182820181905260009190848201906040850190845b818110156148d1576148c1838551614882565b92840192918401916001016148ae565b50909695505050505050565b60008083601f8401126148ef57600080fd5b5081356001600160401b0381111561490657600080fd5b60208301915083602082850101111561445f57600080fd5b6000806000806060858703121561493457600080fd5b843593506020850135925060408501356001600160401b0381111561495857600080fd5b614964878288016148dd565b95989497509550505050565b60208101610bb58284614882565b61ffff81168114611b8f57600080fd5b600080604083850312156149a157600080fd5b8235915060208301356149b38161497e565b809150509250929050565b600080600080600080608087890312156149d757600080fd5b86356001600160401b03808211156149ee57600080fd5b6149fa8a838b0161441b565b90985096506020890135915080821115614a1357600080fd5b50614a2089828a016148dd565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a4e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a7357600080fd5b84356001600160401b03811115614a8957600080fd5b614a95878288016148dd565b9095509350614aa990508660208701614729565b9150614ab7606086016143dc565b905092959194509250565b60ff811061460e5761460e6145e8565b60208152614ae4602082018351614ac2565b6000602083015160408084015261219660608401826144c0565b602081526000825160406020840152614b1a6060840182614553565b90506020840151601f1984830301604085015261321c82826144ec565b803563ffffffff8116811461376257600080fd5b600080600080600060808688031215614b6357600080fd5b85359450614b7360208701614b37565b93506040860135925060608601356001600160401b03811115614b9557600080fd5b614ba1888289016148dd565b969995985093965092949392505050565b600080600060808486031215614bc757600080fd5b83359250614bd88560208601614729565b9150614be6606085016143dc565b90509250925092565b60008351614c01818460208801614307565b6101d160f51b9083019081528351614c20816002840160208801614307565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c6b57614c6b614c2c565b8060ff84160491505092915050565b60ff8181168382160190811115610bb557610bb5614c42565b600060ff831680614ca657614ca6614c2c565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610bb557610bb5614c42565b80820180821115610bb557610bb5614c42565b60008235607e19833603018112614d0b57600080fd5b9190910192915050565b600082601f830112614d2657600080fd5b8151614d318161475f565b604051614d3e8282614636565b828152856020848701011115614d5357600080fd5b61321c836020830160208801614307565b600060208284031215614d7657600080fd5b81516001600160401b03811115614d8c57600080fd5b61219684828501614d15565b82815260406020820152600061219660408301846144c0565b600060208284031215614dc357600080fd5b611b7782614b37565b6000808335601e19843603018112614de357600080fd5b8301803591506001600160401b03821115614dfd57600080fd5b60200191503681900382131561445f57600080fd5b60008251614e24818460208701614307565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e5f57607f821691505b60208210810361246b57634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148d15783516001600160a01b031683529284019291840191600101614e9b565b60ff81168114611b8f57600080fd5b6001600160401b0381168114611b8f57600080fd5b83815260208101839052608081018235614efd81614ec0565b60ff1660408301526020830135614f1381614ecf565b6001600160401b038116606084015250949350505050565b60008060408385031215614f3e57600080fd5b8251614f49816143aa565b60208401519092506001600160401b03811115614f6557600080fd5b614f7185828601614d15565b9150509250929050565b60006020808385031215614f8e57600080fd5b82516001600160401b03811115614fa457600080fd5b8301601f81018513614fb557600080fd5b8051614fc081614662565b604051614fcd8282614636565b82815260059290921b8301840191848101915087831115614fed57600080fd5b928401925b8284101561471e578351615005816143aa565b82529284019290840190614ff2565b60006020828403121561502657600080fd5b81516001600160e01b031981168114611b7757600080fd5b60006020828403121561505057600080fd5b8151611b77816143aa565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561508b57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208083850312156150b857600080fd5b82516001600160401b03808211156150cf57600080fd5b818501915085601f8301126150e357600080fd5b81516150ee81614662565b6040516150fb8282614636565b82815260059290921b840185019185810191508883111561511b57600080fd5b8585015b83811015615153578051858111156151375760008081fd5b6151458b89838a0101614d15565b84525091860191860161511f565b5098975050505050505050565b61ffff828116828216039080821115610ca557610ca5614c42565b600061ffff8084168061519057615190614c2c565b92169190910492915050565b61ffff818116838216019080821115610ca557610ca5614c42565b6000602082840312156151c957600080fd5b8151611b778161497e565b6000602082840312156151e657600080fd5b81518015158114611b7757600080fd5b601f821115612933576000816000526020600020601f850160051c8101602086101561521f5750805b601f850160051c820191505b8181101561523e5782815560010161522b565b505050505050565b6001600160401b0383111561525d5761525d614620565b6152718361526b8354614e4b565b836151f6565b6000601f8411600181146152a5576000851561528d5750838201355b600019600387901b1c1916600186901b1783556152ff565b600083815260209020601f19861690835b828110156152d657868501358255602094850194600190920191016152b6565b50868210156152f35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61531081846145fe565b60006020604060208401526000845461532881614e4b565b806040870152606060018084166000811461534a576001811461536657615396565b60ff19851660608a0152606084151560051b8a01019550615396565b89600052602060002060005b8581101561538d5781548b8201860152908301908801615372565b8a016060019650505b50939998505050505050505050565b6000602082840312156153b757600080fd5b81516001600160401b03808211156153ce57600080fd5b90830190604082860312156153e257600080fd5b6040516040810181811083821117156153fd576153fd614620565b604052825160ff811061540f57600080fd5b815260208301518281111561542357600080fd5b61542f87828601614d15565b60208301525095945050505050565b600060033d11156154575760046000803e5060005160e01c5b90565b600060443d10156154685790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561549757505050505090565b82850191508151818111156154af5750505050505090565b843d87010160208285010111156154c95750505050505090565b6154d860208286010187614636565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b81526000825161550f816011850160208701614307565b9190910160110192915050565b6001600160481b03818116838216019080821115610ca557610ca5614c42565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261558c60c08201856144c0565b9998505050505050505050565b6000602082840312156155ab57600080fd5b8135611b7781614ecf565b6000602082840312156155c857600080fd5b8135611b7781614ec0565b6000600182016155e5576155e5614c42565b5060010190565b81356155f781614ec0565b60ff8116905081548160ff198216178355602084013561561681614ecf565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461565f5761565f614c42565b505092915050565b6000815160c084528051604060c08601526156866101008601826144c0565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526157136080820184614ac2565b60c060a0820152600061572960c0830184615667565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a06080820152600061471e60a0830184615667565b81810381811115610bb557610bb5614c42565b81516001600160401b0381111561579557615795614620565b6157a9816157a38454614e4b565b846151f6565b602080601f8311600181146157de57600084156157c65750858301515b600019600386901b1c1916600185901b17855561523e565b600085815260208120601f198616915b8281101561580d578886015182559484019460019091019084016157ee565b508582101561582b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610ca557610ca5614c42565b60008261586a5761586a614c2c565b500690565b60ff8281168282160390811115610bb557610bb5614c4256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212203c364040514958744fa1b1bde68a1fab0c42273aa7c9227ebc8d806050dbfcc064736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106102815760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610986578063e5a6b10f146109a4578063e900aa33146109d8578063ec5946db146109eb578063f2fde38b146109fe578063f61921b214610a1e576102be565b8063aeb2ffc1146108bd578063b207e730146108ea578063bff852fa1461090a578063c45a01551461091f578063c805dd0f1461093d578063d5f3948814610952576102be565b806393d5185c1161011357806393d5185c146107c05780639cc56e67146107f5578063a3ff5b0014610815578063a77fc1a414610828578063a9e954b914610855578063adb7c3f714610889576102be565b80637b103999146106de5780637bbdb96e146107125780637bd88218146107625780638d3d8b38146107825780638da5cb5b146107a2576102be565b80635001f3b5116101f35780636280bce8116101ac5780636280bce8146105fd5780636b58960a1461061d5780636f07abcc1461063d5780636fdaab7e1461066a578063715018a6146106b457806379ba5097146106c9576102be565b80635001f3b5146104e057806352d1902d146105275780635479d9401461055b57806354fd4d501461058e578063581f5094146105b05780635bb47808146105dd576102be565b8063234fe6e311610245578063234fe6e31461041357806328a78d9b146104405780633dc2b7a214610460578063439fab911461047357806345ea6c17146104935780634c9f72e3146104c0576102be565b8063044ad7be1461033657806305e742ef1461036b57806306eb2c421461039957806308b7e85e146103b95780630aa4112a146103e6576102be565b366102be576102bc604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a3e565b005b3480156102ca57600080fd5b506102bc6102dc60003560f81c610a87565b6102ed60ff60003560f01c16610a87565b6102fe60ff60003560e81c16610a87565b61030f60ff60003560e01c16610a87565b604051602001610322949392919061432b565b604051602081830303815290604052610a3e565b34801561034257600080fd5b506103566103513660046143bf565b610b79565b60405190151581526020015b60405180910390f35b34801561037757600080fd5b5061038b6103863660046143ef565b610bbb565b604051908152602001610362565b3480156103a557600080fd5b5061038b6103b4366004614466565b610cac565b3480156103c557600080fd5b506103d96103d43660046144a7565b611016565b6040516103629190614540565b3480156103f257600080fd5b506104066104013660046144a7565b6112ad565b60405161036291906145d5565b34801561041f57600080fd5b5061043361042e3660046144a7565b611413565b6040516103629190614612565b34801561044c57600080fd5b506102bc61045b366004614685565b61141e565b61038b61046e36600461473b565b6114d7565b34801561047f57600080fd5b506102bc61048e366004614786565b6115e1565b34801561049f57600080fd5b506104b36104ae366004614466565b611ad5565b604051610362919061480b565b3480156104cc57600080fd5b506102bc6104db366004614685565b611b7e565b3480156104ec57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610362565b34801561053357600080fd5b5061038b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561056757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b34801561059a57600080fd5b506105a3611b92565b604051610362919061486f565b3480156105bc57600080fd5b506105d06105cb366004614466565b611bc2565b6040516103629190614892565b3480156105e957600080fd5b506102bc6105f83660046143bf565b611c7d565b34801561060957600080fd5b5061038b61061836600461491e565b611ca7565b34801561062957600080fd5b506103566106383660046143bf565b611d77565b34801561064957600080fd5b5061065d6106583660046144a7565b611dcd565b6040516103629190614970565b34801561067657600080fd5b5061038b6106853660046144a7565b60009081526000805160206158f38339815191526020526040902054600160b81b90046001600160481b031690565b3480156106c057600080fd5b506102bc611dd8565b3480156106d557600080fd5b506102bc611dec565b3480156106ea57600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071e57600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610362565b34801561076e57600080fd5b5061038b61077d36600461498e565b611e63565b34801561078e57600080fd5b506105a361079d3660046144a7565b611efb565b3480156107ae57600080fd5b506000546001600160a01b031661050f565b3480156107cc57600080fd5b506107e06107db3660046149be565b611f99565b60408051928352602083019190915201610362565b34801561080157600080fd5b5061038b610810366004614a3b565b6120c8565b61038b610823366004614a5d565b61219e565b34801561083457600080fd5b506108486108433660046144a7565b6122f8565b6040516103629190614ad2565b34801561086157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f61038b565b34801561089557600080fd5b506107497f000000000000000000000000000000000000000000000000000000000000000081565b3480156108c957600080fd5b506108dd6108d83660046144a7565b612471565b6040516103629190614afe565b3480156108f657600080fd5b5061038b610905366004614b4b565b6126a7565b34801561091657600080fd5b506105a36127c2565b34801561092b57600080fd5b506003546001600160a01b031661050f565b34801561094957600080fd5b5061038b6127f9565b34801561095e57600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506001546001600160a01b031661050f565b3480156109b057600080fd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b61038b6109e6366004614bb2565b612816565b6102bc6109f93660046144a7565b6128d5565b348015610a0a57600080fd5b506102bc610a193660046143bf565b6129d3565b348015610a2a57600080fd5b506103d9610a393660046144a7565b612a44565b610a466127c2565b81604051602001610a58929190614bef565b60408051601f198184030181529082905262461bcd60e51b8252610a7e9160040161486f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610ab9601085614c58565b610ac4906030614c7a565b90506000610ad3601086614c93565b610ade906030614c7a565b905060398260ff161115610afa57610af7600783614c7a565b91505b60398160ff161115610b1457610b11600782614c7a565b90505b8160f81b83600081518110610b2b57610b2b614cb5565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b5957610b59614cb5565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610be97f00000000000000000000000000000000000000000000000000000000000000006003614ccb565b610c13907f0000000000000000000000000000000000000000000000000000000000000000614ce2565b9050808362ffffff161080610c55575080610c5362ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614ce2565b105b15610c6c57610c648185614ccb565b915050610bb5565b610c9b62ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614ce2565b610c649085614ccb565b5092915050565b6000610d0e6000805160206158d38339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612b66565b60005b82811015611005576001610d48858584818110610d3057610d30614cb5565b9050602002810190610d429190614cf5565b35612b78565b6003811115610d5957610d596145e8565b14610e3e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d9157610d91614cb5565b9050602002810190610da39190614cf5565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dde90600190600401614970565b600060405180830381865af4158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e239190810190614d64565b604051610e31929190614d98565b60405180910390a1610ffd565b838382818110610e5057610e50614cb5565b9050602002810190610e629190614cf5565b610e73906040810190602001614db1565b63ffffffff161580610eb65750838382818110610e9257610e92614cb5565b9050602002810190610ea49190614cf5565b610eb2906060810190614dcc565b1590505b15610f34577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610eee57610eee614cb5565b9050602002810190610f009190614cf5565b35610f096127c2565b604051602001610f199190614e12565b60408051601f1981840301815290829052610e319291614d98565b610ff0848483818110610f4957610f49614cb5565b9050602002810190610f5b9190614cf5565b35858584818110610f6e57610f6e614cb5565b9050602002810190610f809190614cf5565b610f91906040810190602001614db1565b868685818110610fa357610fa3614cb5565b9050602002810190610fb59190614cf5565b60400135878786818110610fcb57610fcb614cb5565b9050602002810190610fdd9190614cf5565b610feb906060810190614dcc565b612bf9565b610ffa9083614ce2565b91505b600101610d11565b508015610bb557610bb53382612dd8565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091528160038061105083612b78565b6003811115611061576110616145e8565b146110f0576040516353e8875160e11b81526110eb9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b600060405180830381865af41580156110be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190614d64565b610a3e565b6112a6565b836111396110fd82612e0e565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612b66565b61114285612e0e565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906111a790614e4b565b80601f01602080910402602001604051908101604052809291908181526020018280546111d390614e4b565b80156112205780601f106111f557610100808354040283529160200191611220565b820191906000526020600020905b81548152906001019060200180831161120357829003601f168201915b50505050508152505093506112406000805160206158d383398151915290565b60008681526001918201602052604081208181559182908290611265908301826141ef565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906112a060068501826141ef565b50505050505b5050919050565b6112f16040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112fa82612e0e565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061135290614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461137e90614e4b565b80156113cb5780601f106113a0576101008083540402835291602001916113cb565b820191906000526020600020905b8154815290600101906020018083116113ae57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610bb582612e2c565b611426612f44565b60005b815181101561149c57600082828151811061144657611446614cb5565b6020026020010151905060006114676000805160206158d383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611429565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114cc9190614e7f565b60405180910390a150565b60006114e33a846120c8565b61151c81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612b66565b61155a61152a82600a614ccb565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612b66565b8261159061156782612f71565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612b66565b61159c85856000612fca565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516115d193929190614ee4565b60405180910390a1505092915050565b6000546001600160a01b03166060816116345760608380602001905181019061160a9190614f2b565b90935090506116188361309e565b8080602001905181019061162c9190614f7b565b91505061168e565b611677826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612b66565b8280602001905181019061168b9190614f7b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116ff57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611735576117356040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a3e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526117d9907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612b66565b6118ac630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118709190615014565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612b66565b611a33306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b919061503e565b6001600160a01b0316148015611a0357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f8919061503e565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612b66565b611a3c816130b7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611abb611b92565b604051611ac8919061486f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611b32907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161505b565b600060405180830381865af4158015611b4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b7791908101906150a5565b9392505050565b611b86612f44565b611b8f816130b7565b50565b6060611bbd7f000000000000000000000000000000000000000000000000000000000000000061315d565b905090565b6060816001600160401b03811115611bdc57611bdc614620565b604051908082528060200260200182016040528015611c05578160200160208202803683370190505b50905060005b82811015610ca557611c34848483818110611c2857611c28614cb5565b90506020020135612b78565b828281518110611c4657611c46614cb5565b60200260200101906003811115611c5f57611c5f6145e8565b90816003811115611c7257611c726145e8565b905250600101611c0b565b611c85612f44565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000611cc06000805160206158d3833981519152610cc1565b84600180611ccd83612b78565b6003811115611cde57611cde6145e8565b14611d23576040516353e8875160e11b8152611d1e9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b611d6d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611d5d9085151590612b66565b611d6a8742888888613201565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610bb55750816001600160a01b0316611dbd6000546001600160a01b031690565b6001600160a01b03161492915050565b6000610bb582612b78565b611de0612f44565b611dea600061309e565b565b60015433906001600160a01b03168114611e5a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a7e565b611b8f8161309e565b6000602061ffff831615611e8157611e7c600184615160565b611e84565b60005b611e8e919061517b565b611e9990600461519c565b611ec79061ffff167f0000000000000000000000000000000000000000000000000000000000000000614ccb565b611ef1907f0000000000000000000000000000000000000000000000000000000000000000614ce2565b611b779084614ccb565b6060611f0682613225565b6002018054611f1490614e4b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4090614e4b565b8015611f8d5780601f10611f6257610100808354040283529160200191611f8d565b820191906000526020600020905b815481529060010190602001808311611f7057829003601f168201915b50505050509050919050565b60008060005b878110156120bc576001611fbe8a8a84818110611c2857611c28614cb5565b6003811115611fcf57611fcf6145e8565b036120b4576000611ff78a8a84818110611feb57611feb614cb5565b90506020020135612e0e565b805490915061201690600160b81b90046001600160481b031685614ce2565b8154909450600160a01b900462ffffff1615612056578054612045908790600160a01b900462ffffff16610bbb565b61204f9084614ce2565b9250612086565b60028101541561206e576120458682600201546120c8565b612079866000611e63565b6120839084614ce2565b92505b8461209382600301613246565b6001600160401b03166120a69190614ccb565b6120b09084614ce2565b9250505b600101611f9f565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215691906151b7565b905061218c60008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612b66565b6121968482611e63565b949350505050565b60003382612258823b1580159061221957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa1580156121f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221991906151d4565b801561222a575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612b66565b6122633a5b85610bbb565b61226d81346114e9565b61227b61152a82600a614ccb565b8561228861156782612f71565b61229460008888612fca565b945088886122a187612e0e565b600101916122b0919083615246565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516122e493929190614ee4565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152600061231883612e2c565b905073__WitnetErrorsLib_______________________63a62b84628261233e86613225565b6002016040518363ffffffff1660e01b815260040161235e929190615306565b600060405180830381865af492505050801561239c57506040513d6000823e601f3d908101601f1916820160405261239991908101906153a5565b60015b611b77576123a861543e565b806308c379a00361240457506123bc61545a565b806123c75750612406565b604080518082019091528060008152602001826040516020016123ea91906154e3565b60408051601f198184030181529190529052949350505050565b505b3d808015612430576040519150601f19603f3d011682016040523d82523d6000602084013e612435565b606091505b506040805180820190915280600081526020016040518060600160405280602181526020016158b2602191399052949350505050565b50919050565b612479614229565b60008281526000805160206158f383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a0850191906124f490614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461252090614e4b565b801561256d5780601f106125425761010080835404028352916020019161256d565b820191906000526020600020905b81548152906001019060200180831161255057829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff16928101929092526005850154606083015260068501805494909301939192909160808401919061261b90614e4b565b80601f016020809104026020016040519081016040528092919081815260200182805461264790614e4b565b80156126945780601f1061266957610100808354040283529160200191612694565b820191906000526020600020905b81548152906001019060200180831161267757829003601f168201915b5050509190925250505090525092915050565b60006126c06000805160206158d3833981519152610cc1565b856001806126cd83612b78565b60038111156126de576126de6145e8565b14612723576040516353e8875160e11b815261271e9073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b6127b7565b61276d60008863ffffffff161180156127425750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612b66565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127a79085151590612b66565b6127b48888888888613201565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c6544656661756c7400000000602082015290565b60006000805160206158d383398151915254611bbd906001614ce2565b60003382612854823b1580159061221957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024016121d8565b61285d3a61225d565b61286781346114e9565b61287561152a82600a614ccb565b8561288261156782612f71565b61288d888888612fca565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516128c293929190614ee4565b60405180910390a1505050509392505050565b806001806128e283612b78565b60038111156128f3576128f36145e8565b14612938576040516353e8875160e11b81526129339073__WitnetOracleDataLib___________________9063a7d10ea2906110a1908590600401614970565b505050565b600061294384612e0e565b90503481548290601790612968908490600160b81b90046001600160481b031661551c565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b6129db612f44565b600180546001600160a01b0383166001600160a01b03199091168117909155612a0c6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a7a82613225565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612add90614e4b565b80601f0160208091040260200160405190810160405280929190818152602001828054612b0990614e4b565b8015612b565780601f10612b2b57610100808354040283529160200191612b56565b820191906000526020600020905b815481529060010190602001808311612b3957829003601f168201915b5050505050815250509050919050565b81612b7457612b7481610a3e565b5050565b60008181526000805160206158f3833981519152602052604081206004810154600160e01b900463ffffffff1615612bd7576004810154600160a01b90046001600160401b03164310612bce5750600392915050565b50600292915050565b80546001600160a01b031615612bf05750600192915050565b50600092915050565b600080612c0587612e0e565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612d5157805460009081908190612c74908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613276565b9250925092508115612cc457604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612d2e565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612d115760405180606001604052806029815260200161588960299139612d13565b865b604051612d259695949392919061553c565b60405180910390a15b612d498a8a8a6040518060200160405280600081525061360c565b505050612dce565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612dce87878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360c92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612933573d6000803e3d6000fd5b60009081526000805160206158f38339815191526020526040902090565b600080612e3883612b78565b90506003816003811115612e4e57612e4e6145e8565b03612f005760008381526000805160206158f38339815191526020526040812060060180549091908290612e8190614e4b565b90501115612ef6578054601b60fb1b908290600090612e9f90614e4b565b8110612ead57612ead614cb5565b815460011615612ecc5790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612eec576002612196565b6003949350505050565b5060059392505050565b6001816003811115612f1457612f146145e8565b03612f225750600192915050565b6002816003811115612f3657612f366145e8565b03612bf05750600492915050565b6000546001600160a01b03163314611dea5760405163118cdaa760e01b8152336004820152602401610a7e565b600080612f846040840160208501615599565b6001600160401b0316118015612fa957506000612fa460208401846155b6565b60ff16115b8015610bb55750607f612fbf60208401846155b6565b60ff16111592915050565b60006000805160206158d38339815191528054600090612fe9906155d3565b918290555090506000612ffb82612e0e565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b602082015291925061303b916001600160a01b039091161590612b66565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b031617815560028101859055836003820161309382826155ec565b905050509392505050565b600180546001600160a01b0319169055611b8f816136d9565b60005b815181101561312d5760008282815181106130d7576130d7614cb5565b6020026020010151905060016130f86000805160206158d383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016130ba565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114cc9190614e7f565b6060600061316a83613729565b6001600160401b0381111561318157613181614620565b6040519080825280601f01601f1916602001820160405280156131ab576020820181803683370190505b50905060005b8151811015610ca5578381602081106131cc576131cc614cb5565b1a60f81b8282815181106131e2576131e2614cb5565b60200101906001600160f81b031916908160001a9053506001016131b1565b60006132108686868686612bf9565b905061321c3382612dd8565b95945050505050565b60009081526000805160206158f38339815191526020526040902060040190565b80546000906132599060ff166003614c7a565b8254610bb59160ff169061010090046001600160401b031661563c565b60008060605a9250601b60fb1b878760008161329457613294614cb5565b9050013560f81c60f81b6001600160f81b031916036134e45760006132f66132f189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061376792505050565b61378c565b905060028151101561341d57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b81526004016133aa969594939291906156e8565b600060405180830381600088803b1580156133c457600080fd5b5087f1935050505080156133d6575060015b613414576133e261543e565b806308c379a00361340857506133f661545a565b80613401575061340a565b91506134de565b505b3d6000803e3d6000fd5b600192506134de565b856001600160a01b03166363febc9c868d8d8d436134548860008151811061344757613447614cb5565b602002602001015161393c565b60fe811115613465576134656145e8565b8860008151811061347857613478614cb5565b60200260200101516040518863ffffffff1660e01b81526004016134a1969594939291906156e8565b600060405180830381600088803b1580156134bb57600080fd5b5087f1935050505080156134cd575060015b6134d9576133e261543e565b600192505b506135f2565b846001600160a01b031663bcc6307b858c8c8c436135378e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061376792505050565b6040518763ffffffff1660e01b8152600401613557959493929190615735565b600060405180830381600088803b15801561357157600080fd5b5087f193505050508015613583575060015b6135ed5761358f61543e565b806308c379a0036135b557506135a361545a565b806135ae57506135b7565b90506135f2565b505b3d8080156135e1576040519150601f19603f3d011682016040523d82523d6000602084013e6135e6565b606091505b50506135f2565b600191505b5a6135fd9084615769565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061365485612e0e565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136d0908261577c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137625781816020811061374757613747614cb5565b1a60f81b6001600160f81b031916156137625760010161372c565b919050565b61376f6142ab565b6040805180820190915282815260006020820152611b778161399f565b60608160048060ff16826040015160ff16146137cc57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b60006137e085600001518660600151613abf565b90506137ed81600161583b565b6001600160401b03166001600160401b0381111561380d5761380d614620565b60405190808252806020026020018201604052801561384657816020015b6138336142ab565b81526020019060019003908161382b5790505b50935060005b816001600160401b031681101561390c5761386686613b87565b955061387186613baf565b85828151811061388357613883614cb5565b6020026020010181905250600460ff16866040015160ff16036138dc5760006138ab8761378c565b905080600182516138bc9190615769565b815181106138cc576138cc614cb5565b6020026020010151965050613904565b600560ff16866040015160ff16036138f95760006138ab87613c47565b61390286613e31565b505b60010161384c565b508484826001600160401b03168151811061392957613929614cb5565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461397c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b61398e84600001518560600151613abf565b6001600160401b0316949350505050565b6139a76142ab565b81515182906000036139cc576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a4f576139ec89613ff6565b9550816139f8816155d3565b6007600589901c169650601f881695509250506005198501613a47576020890151613a238a86613abf565b9350808a60200151613a359190615769565b613a3f9084614ce2565b9250506139dd565b5060006139dd565b600760ff86161115613a795760405163bd2ac87960e01b815260ff86166004820152602401610a7e565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ad7575060ff8116610bb5565b8160ff16601803613af557613aeb83613ff6565b60ff169050610bb5565b8160ff16601903613b1457613b0983614058565b61ffff169050610bb5565b8160ff16601a03613b3557613b28836140c4565b63ffffffff169050610bb5565b8160ff16601b03613b5057613b4983614123565b9050610bb5565b8160ff16601f03613b6957506001600160401b03610bb5565b604051636d785b1360e01b815260ff83166004820152602401610a7e565b613b8f6142ab565b81518051516020909101511015613bab578151610bb59061399f565b5090565b613bb76142ab565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c8757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a7e565b6000613c9b85600001518660600151613abf565b613ca690600261563c565b9050613cb381600161583b565b6001600160401b03166001600160401b03811115613cd357613cd3614620565b604051908082528060200260200182016040528015613d0c57816020015b613cf96142ab565b815260200190600190039081613cf15790505b50935060005b816001600160401b031681101561390c57613d2c86613b87565b9550613d3786613baf565b858281518110613d4957613d49614cb5565b6020908102919091010152613d5f60028261585b565b158015613d745750604086015160ff16600314155b15613da257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a7e565b604086015160ff1660041480613dbf5750604086015160ff166005145b15613e1e57604086015160009060ff16600414613de457613ddf87613c47565b613ded565b613ded8761378c565b90508060018251613dfe9190615769565b81518110613e0e57613e0e614cb5565b6020026020010151965050613e29565b613e2786613e31565b505b600101613d12565b613e396142ab565b604082015160ff161580613e545750604082015160ff166001145b80613e8d5750604082015160ff166007148015613e7957506019826060015160ff1610155b8015613e8d5750601b826060015160ff1611155b15613ec057613e9b82614182565b6001600160401b03168260000151602001818151613eb99190614ce2565b9052505090565b604082015160ff1660031480613edd5750604082015160ff166002145b15613f21576000613ef683600001518460600151613abf565b9050806001600160401b03168360000151602001818151613f179190614ce2565b905250613bab9050565b604082015160ff1660041480613f3e5750604082015160ff166005145b15613f6757613f5582600001518360600151613abf565b6001600160401b031660808301525090565b604082015160ff166007141580613f995750816060015160ff16601414158015613f995750816060015160ff16601514155b15613bab5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a7e565b600081602001518260000151518082111561402e576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b835160208501805180830160010151955090819061404b826155d3565b8152505050505050919050565b60008160200151600261406b9190614ce2565b82515180821115614099576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516002818401810151965090916140b78284614ce2565b9052509395945050505050565b6000816020015160046140d79190614ce2565b82515180821115614105576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516004818401810151965090916140b78284614ce2565b6000816020015160086141369190614ce2565b82515180821115614164576040516363a056dd60e01b81526004810183905260248101829052604401610a7e565b83516020850180516008818401810151965090916140b78284614ce2565b60006018826060015160ff16101561419c57506000919050565b601c826060015160ff1610156141cb57601882606001516141bd919061586f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a7e565b5080546141fb90614e4b565b6000825580601f1061420b575050565b601f016020900490600052602060002090810190611b8f91906142f2565b60405180604001604052806142786040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613bab57600081556001016142f3565b60005b8381101561432257818101518382015260200161430a565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614359816013850160208a01614307565b855190830190614370816013840160208a01614307565b8551910190614386816013840160208901614307565b845191019061439c816013840160208801614307565b016013019695505050505050565b6001600160a01b0381168114611b8f57600080fd5b6000602082840312156143d157600080fd5b8135611b77816143aa565b803562ffffff8116811461376257600080fd5b6000806040838503121561440257600080fd5b82359150614412602084016143dc565b90509250929050565b60008083601f84011261442d57600080fd5b5081356001600160401b0381111561444457600080fd5b6020830191508360208260051b850101111561445f57600080fd5b9250929050565b6000806020838503121561447957600080fd5b82356001600160401b0381111561448f57600080fd5b61449b8582860161441b565b90969095509350505050565b6000602082840312156144b957600080fd5b5035919050565b600081518084526144d8816020860160208601614307565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261219660a08501826144c0565b602081526000611b7760208301846144ec565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261459c60e08501826144c0565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b776020830184614553565b634e487b7160e01b600052602160045260246000fd5b6006811061460e5761460e6145e8565b9052565b60208101610bb582846145fe565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561465b5761465b614620565b6040525050565b60006001600160401b0382111561467b5761467b614620565b5060051b60200190565b6000602080838503121561469857600080fd5b82356001600160401b038111156146ae57600080fd5b8301601f810185136146bf57600080fd5b80356146ca81614662565b6040516146d78282614636565b82815260059290921b83018401918481019150878311156146f757600080fd5b928401925b8284101561471e57833561470f816143aa565b825292840192908401906146fc565b979650505050505050565b60006040828403121561246b57600080fd5b6000806060838503121561474e57600080fd5b823591506144128460208501614729565b60006001600160401b0382111561477857614778614620565b50601f01601f191660200190565b60006020828403121561479857600080fd5b81356001600160401b038111156147ae57600080fd5b8201601f810184136147bf57600080fd5b80356147ca8161475f565b6040516147d78282614636565b8281528660208486010111156147ec57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561486257603f198886030184526148508583516144c0565b94509285019290850190600101614834565b5092979650505050505050565b602081526000611b7760208301846144c0565b6004811061460e5761460e6145e8565b6020808252825182820181905260009190848201906040850190845b818110156148d1576148c1838551614882565b92840192918401916001016148ae565b50909695505050505050565b60008083601f8401126148ef57600080fd5b5081356001600160401b0381111561490657600080fd5b60208301915083602082850101111561445f57600080fd5b6000806000806060858703121561493457600080fd5b843593506020850135925060408501356001600160401b0381111561495857600080fd5b614964878288016148dd565b95989497509550505050565b60208101610bb58284614882565b61ffff81168114611b8f57600080fd5b600080604083850312156149a157600080fd5b8235915060208301356149b38161497e565b809150509250929050565b600080600080600080608087890312156149d757600080fd5b86356001600160401b03808211156149ee57600080fd5b6149fa8a838b0161441b565b90985096506020890135915080821115614a1357600080fd5b50614a2089828a016148dd565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a4e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a7357600080fd5b84356001600160401b03811115614a8957600080fd5b614a95878288016148dd565b9095509350614aa990508660208701614729565b9150614ab7606086016143dc565b905092959194509250565b60ff811061460e5761460e6145e8565b60208152614ae4602082018351614ac2565b6000602083015160408084015261219660608401826144c0565b602081526000825160406020840152614b1a6060840182614553565b90506020840151601f1984830301604085015261321c82826144ec565b803563ffffffff8116811461376257600080fd5b600080600080600060808688031215614b6357600080fd5b85359450614b7360208701614b37565b93506040860135925060608601356001600160401b03811115614b9557600080fd5b614ba1888289016148dd565b969995985093965092949392505050565b600080600060808486031215614bc757600080fd5b83359250614bd88560208601614729565b9150614be6606085016143dc565b90509250925092565b60008351614c01818460208801614307565b6101d160f51b9083019081528351614c20816002840160208801614307565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c6b57614c6b614c2c565b8060ff84160491505092915050565b60ff8181168382160190811115610bb557610bb5614c42565b600060ff831680614ca657614ca6614c2c565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610bb557610bb5614c42565b80820180821115610bb557610bb5614c42565b60008235607e19833603018112614d0b57600080fd5b9190910192915050565b600082601f830112614d2657600080fd5b8151614d318161475f565b604051614d3e8282614636565b828152856020848701011115614d5357600080fd5b61321c836020830160208801614307565b600060208284031215614d7657600080fd5b81516001600160401b03811115614d8c57600080fd5b61219684828501614d15565b82815260406020820152600061219660408301846144c0565b600060208284031215614dc357600080fd5b611b7782614b37565b6000808335601e19843603018112614de357600080fd5b8301803591506001600160401b03821115614dfd57600080fd5b60200191503681900382131561445f57600080fd5b60008251614e24818460208701614307565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e5f57607f821691505b60208210810361246b57634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148d15783516001600160a01b031683529284019291840191600101614e9b565b60ff81168114611b8f57600080fd5b6001600160401b0381168114611b8f57600080fd5b83815260208101839052608081018235614efd81614ec0565b60ff1660408301526020830135614f1381614ecf565b6001600160401b038116606084015250949350505050565b60008060408385031215614f3e57600080fd5b8251614f49816143aa565b60208401519092506001600160401b03811115614f6557600080fd5b614f7185828601614d15565b9150509250929050565b60006020808385031215614f8e57600080fd5b82516001600160401b03811115614fa457600080fd5b8301601f81018513614fb557600080fd5b8051614fc081614662565b604051614fcd8282614636565b82815260059290921b8301840191848101915087831115614fed57600080fd5b928401925b8284101561471e578351615005816143aa565b82529284019290840190614ff2565b60006020828403121561502657600080fd5b81516001600160e01b031981168114611b7757600080fd5b60006020828403121561505057600080fd5b8151611b77816143aa565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561508b57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208083850312156150b857600080fd5b82516001600160401b03808211156150cf57600080fd5b818501915085601f8301126150e357600080fd5b81516150ee81614662565b6040516150fb8282614636565b82815260059290921b840185019185810191508883111561511b57600080fd5b8585015b83811015615153578051858111156151375760008081fd5b6151458b89838a0101614d15565b84525091860191860161511f565b5098975050505050505050565b61ffff828116828216039080821115610ca557610ca5614c42565b600061ffff8084168061519057615190614c2c565b92169190910492915050565b61ffff818116838216019080821115610ca557610ca5614c42565b6000602082840312156151c957600080fd5b8151611b778161497e565b6000602082840312156151e657600080fd5b81518015158114611b7757600080fd5b601f821115612933576000816000526020600020601f850160051c8101602086101561521f5750805b601f850160051c820191505b8181101561523e5782815560010161522b565b505050505050565b6001600160401b0383111561525d5761525d614620565b6152718361526b8354614e4b565b836151f6565b6000601f8411600181146152a5576000851561528d5750838201355b600019600387901b1c1916600186901b1783556152ff565b600083815260209020601f19861690835b828110156152d657868501358255602094850194600190920191016152b6565b50868210156152f35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61531081846145fe565b60006020604060208401526000845461532881614e4b565b806040870152606060018084166000811461534a576001811461536657615396565b60ff19851660608a0152606084151560051b8a01019550615396565b89600052602060002060005b8581101561538d5781548b8201860152908301908801615372565b8a016060019650505b50939998505050505050505050565b6000602082840312156153b757600080fd5b81516001600160401b03808211156153ce57600080fd5b90830190604082860312156153e257600080fd5b6040516040810181811083821117156153fd576153fd614620565b604052825160ff811061540f57600080fd5b815260208301518281111561542357600080fd5b61542f87828601614d15565b60208301525095945050505050565b600060033d11156154575760046000803e5060005160e01c5b90565b600060443d10156154685790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561549757505050505090565b82850191508151818111156154af5750505050505090565b843d87010160208285010111156154c95750505050505090565b6154d860208286010187614636565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b81526000825161550f816011850160208701614307565b9190910160110192915050565b6001600160481b03818116838216019080821115610ca557610ca5614c42565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261558c60c08201856144c0565b9998505050505050505050565b6000602082840312156155ab57600080fd5b8135611b7781614ecf565b6000602082840312156155c857600080fd5b8135611b7781614ec0565b6000600182016155e5576155e5614c42565b5060010190565b81356155f781614ec0565b60ff8116905081548160ff198216178355602084013561561681614ecf565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461565f5761565f614c42565b505092915050565b6000815160c084528051604060c08601526156866101008601826144c0565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526157136080820184614ac2565b60c060a0820152600061572960c0830184615667565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a06080820152600061471e60a0830184615667565b81810381811115610bb557610bb5614c42565b81516001600160401b0381111561579557615795614620565b6157a9816157a38454614e4b565b846151f6565b602080601f8311600181146157de57600084156157c65750858301515b600019600386901b1c1916600185901b17855561523e565b600085815260208120601f198616915b8281101561580d578886015182559484019460019091019084016157ee565b508582101561582b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610ca557610ca5614c42565b60008261586a5761586a614c2c565b500690565b60ff8281168282160390811115610bb557610bb5614c4256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212203c364040514958744fa1b1bde68a1fab0c42273aa7c9227ebc8d806050dbfcc064736f6c63430008190033",
  "immutableReferences": {
    "3715": [
      {
        "length": 32,
        "start": 7065
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2404
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1337
      }
    ],
    "4890": [
      {
        "length": 32,
        "start": 2203
      }
    ],
    "4894": [
      {
        "length": 32,
        "start": 1776
      },
      {
        "length": 32,
        "start": 6478
      },
      {
        "length": 32,
        "start": 6918
      },
      {
        "length": 32,
        "start": 8427
      }
    ],
    "4897": [
      {
        "length": 32,
        "start": 6056
      },
      {
        "length": 32,
        "start": 6128
      },
      {
        "length": 32,
        "start": 6331
      },
      {
        "length": 32,
        "start": 6520
      }
    ],
    "6838": [
      {
        "length": 32,
        "start": 7885
      }
    ],
    "6840": [
      {
        "length": 32,
        "start": 3119
      },
      {
        "length": 32,
        "start": 3191
      }
    ],
    "6842": [
      {
        "length": 32,
        "start": 3055
      }
    ],
    "6844": [
      {
        "length": 32,
        "start": 3011
      },
      {
        "length": 32,
        "start": 7843
      }
    ],
    "24100": [
      {
        "length": 32,
        "start": 2486
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1263
      },
      {
        "length": 32,
        "start": 2148
      },
      {
        "length": 32,
        "start": 5853
      },
      {
        "length": 32,
        "start": 5943
      },
      {
        "length": 32,
        "start": 6718
      },
      {
        "length": 32,
        "start": 6752
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1386
      },
      {
        "length": 32,
        "start": 7547
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1479:84",
        "nodeType": "YulBlock",
        "src": "0:1479:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "133:209:84",
              "nodeType": "YulBlock",
              "src": "133:209:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "179:16:84",
                    "nodeType": "YulBlock",
                    "src": "179:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "188:1:84",
                              "nodeType": "YulLiteral",
                              "src": "188:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "191:1:84",
                              "nodeType": "YulLiteral",
                              "src": "191:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "181:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "181:6:84"
                          },
                          "nativeSrc": "181:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "181:12:84"
                        },
                        "nativeSrc": "181:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "181:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "154:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "154:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "163:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "163:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "150:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "150:3:84"
                        },
                        "nativeSrc": "150:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "150:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "175:2:84",
                        "nodeType": "YulLiteral",
                        "src": "175:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "146:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "146:3:84"
                    },
                    "nativeSrc": "146:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "146:32:84"
                  },
                  "nativeSrc": "143:52:84",
                  "nodeType": "YulIf",
                  "src": "143:52:84"
                },
                {
                  "nativeSrc": "204:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "204:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "223:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "223:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "217:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "217:5:84"
                    },
                    "nativeSrc": "217:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "217:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "208:5:84",
                      "nodeType": "YulTypedName",
                      "src": "208:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "296:16:84",
                    "nodeType": "YulBlock",
                    "src": "296:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "305:1:84",
                              "nodeType": "YulLiteral",
                              "src": "305:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "308:1:84",
                              "nodeType": "YulLiteral",
                              "src": "308:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "298:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "298:6:84"
                          },
                          "nativeSrc": "298:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "298:12:84"
                        },
                        "nativeSrc": "298:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "298:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "255:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "255:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "266:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "266:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "281:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "281:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "286:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "286:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "277:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "277:3:84"
                                    },
                                    "nativeSrc": "277:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "277:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "290:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "290:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "273:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "273:3:84"
                                },
                                "nativeSrc": "273:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "273:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "262:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "262:3:84"
                            },
                            "nativeSrc": "262:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "262:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "252:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "252:2:84"
                        },
                        "nativeSrc": "252:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "252:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "245:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "245:6:84"
                    },
                    "nativeSrc": "245:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "245:50:84"
                  },
                  "nativeSrc": "242:70:84",
                  "nodeType": "YulIf",
                  "src": "242:70:84"
                },
                {
                  "nativeSrc": "321:15:84",
                  "nodeType": "YulAssignment",
                  "src": "321:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "331:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "331:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "321:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "321:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetMockedRequestBytecodes_$23799_fromMemory",
            "nativeSrc": "14:328:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "99:9:84",
                "nodeType": "YulTypedName",
                "src": "99:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "110:7:84",
                "nodeType": "YulTypedName",
                "src": "110:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "122:6:84",
                "nodeType": "YulTypedName",
                "src": "122:6:84",
                "type": ""
              }
            ],
            "src": "14:328:84"
          },
          {
            "body": {
              "nativeSrc": "448:102:84",
              "nodeType": "YulBlock",
              "src": "448:102:84",
              "statements": [
                {
                  "nativeSrc": "458:26:84",
                  "nodeType": "YulAssignment",
                  "src": "458:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "470:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "470:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "481:2:84",
                        "nodeType": "YulLiteral",
                        "src": "481:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "466:3:84"
                    },
                    "nativeSrc": "466:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "466:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "458:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "458:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "500:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "500:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "515:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "515:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "531:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "531:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "536:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "536:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "527:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "527:3:84"
                                },
                                "nativeSrc": "527:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "527:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "540:1:84",
                                "nodeType": "YulLiteral",
                                "src": "540:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "523:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "523:3:84"
                            },
                            "nativeSrc": "523:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "523:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "511:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "511:3:84"
                        },
                        "nativeSrc": "511:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "511:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "493:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "493:6:84"
                    },
                    "nativeSrc": "493:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "493:51:84"
                  },
                  "nativeSrc": "493:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "493:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "347:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "417:9:84",
                "nodeType": "YulTypedName",
                "src": "417:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "428:6:84",
                "nodeType": "YulTypedName",
                "src": "428:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "439:4:84",
                "nodeType": "YulTypedName",
                "src": "439:4:84",
                "type": ""
              }
            ],
            "src": "347:203:84"
          },
          {
            "body": {
              "nativeSrc": "587:95:84",
              "nodeType": "YulBlock",
              "src": "587:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "604:1:84",
                        "nodeType": "YulLiteral",
                        "src": "604:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "611:3:84",
                            "nodeType": "YulLiteral",
                            "src": "611:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "616:10:84",
                            "nodeType": "YulLiteral",
                            "src": "616:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "607:3:84"
                        },
                        "nativeSrc": "607:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "607:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "597:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "597:6:84"
                    },
                    "nativeSrc": "597:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "597:31:84"
                  },
                  "nativeSrc": "597:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "597:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "644:1:84",
                        "nodeType": "YulLiteral",
                        "src": "644:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "647:4:84",
                        "nodeType": "YulLiteral",
                        "src": "647:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "637:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "637:6:84"
                    },
                    "nativeSrc": "637:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "637:15:84"
                  },
                  "nativeSrc": "637:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "637:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "668:1:84",
                        "nodeType": "YulLiteral",
                        "src": "668:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "671:4:84",
                        "nodeType": "YulLiteral",
                        "src": "671:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "661:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "661:6:84"
                    },
                    "nativeSrc": "661:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "661:15:84"
                  },
                  "nativeSrc": "661:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "661:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "555:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "555:127:84"
          },
          {
            "body": {
              "nativeSrc": "719:95:84",
              "nodeType": "YulBlock",
              "src": "719:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "736:1:84",
                        "nodeType": "YulLiteral",
                        "src": "736:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "743:3:84",
                            "nodeType": "YulLiteral",
                            "src": "743:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "748:10:84",
                            "nodeType": "YulLiteral",
                            "src": "748:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "739:3:84"
                        },
                        "nativeSrc": "739:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "739:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "729:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "729:6:84"
                    },
                    "nativeSrc": "729:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "729:31:84"
                  },
                  "nativeSrc": "729:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "729:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "776:1:84",
                        "nodeType": "YulLiteral",
                        "src": "776:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "779:4:84",
                        "nodeType": "YulLiteral",
                        "src": "779:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "769:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "769:6:84"
                    },
                    "nativeSrc": "769:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "769:15:84"
                  },
                  "nativeSrc": "769:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "769:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "800:1:84",
                        "nodeType": "YulLiteral",
                        "src": "800:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "803:4:84",
                        "nodeType": "YulLiteral",
                        "src": "803:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "793:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "793:6:84"
                    },
                    "nativeSrc": "793:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "793:15:84"
                  },
                  "nativeSrc": "793:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "793:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "687:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "687:127:84"
          },
          {
            "body": {
              "nativeSrc": "970:507:84",
              "nodeType": "YulBlock",
              "src": "970:507:84",
              "statements": [
                {
                  "nativeSrc": "980:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "980:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "990:2:84",
                    "nodeType": "YulLiteral",
                    "src": "990:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "984:2:84",
                      "nodeType": "YulTypedName",
                      "src": "984:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1001:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1001:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1019:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1019:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1030:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1030:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1015:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1015:3:84"
                    },
                    "nativeSrc": "1015:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1015:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "1005:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1005:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1060:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1060:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1042:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1042:6:84"
                    },
                    "nativeSrc": "1042:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1042:21:84"
                  },
                  "nativeSrc": "1042:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1042:21:84"
                },
                {
                  "nativeSrc": "1072:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1072:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "1083:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "1083:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "1076:3:84",
                      "nodeType": "YulTypedName",
                      "src": "1076:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1098:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1098:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1118:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1118:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1112:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1112:5:84"
                    },
                    "nativeSrc": "1112:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1112:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1102:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1102:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "1141:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1141:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1149:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1149:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1134:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1134:6:84"
                    },
                    "nativeSrc": "1134:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1134:22:84"
                  },
                  "nativeSrc": "1134:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1134:22:84"
                },
                {
                  "nativeSrc": "1165:25:84",
                  "nodeType": "YulAssignment",
                  "src": "1165:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1176:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1176:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1187:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1187:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1172:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1172:3:84"
                    },
                    "nativeSrc": "1172:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1172:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "1165:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1165:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1199:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1199:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1217:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1217:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1225:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1225:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1213:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1213:3:84"
                    },
                    "nativeSrc": "1213:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1213:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "1203:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1203:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1237:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1237:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1246:1:84",
                    "nodeType": "YulLiteral",
                    "src": "1246:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "1241:1:84",
                      "nodeType": "YulTypedName",
                      "src": "1241:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1305:146:84",
                    "nodeType": "YulBlock",
                    "src": "1305:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1326:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1326:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "1341:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1341:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "1335:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1335:5:84"
                                  },
                                  "nativeSrc": "1335:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1335:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "1358:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "1358:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "1363:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "1363:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "1354:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "1354:3:84"
                                      },
                                      "nativeSrc": "1354:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "1354:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "1367:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "1367:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "1350:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1350:3:84"
                                  },
                                  "nativeSrc": "1350:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1350:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "1331:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "1331:3:84"
                              },
                              "nativeSrc": "1331:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "1331:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1319:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1319:6:84"
                          },
                          "nativeSrc": "1319:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1319:52:84"
                        },
                        "nativeSrc": "1319:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1319:52:84"
                      },
                      {
                        "nativeSrc": "1384:19:84",
                        "nodeType": "YulAssignment",
                        "src": "1384:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1395:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1395:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "1400:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "1400:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1391:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1391:3:84"
                          },
                          "nativeSrc": "1391:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1391:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "1384:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1384:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "1416:25:84",
                        "nodeType": "YulAssignment",
                        "src": "1416:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "1430:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "1430:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "1438:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "1438:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1426:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1426:3:84"
                          },
                          "nativeSrc": "1426:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1426:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "1416:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1416:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "1267:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "1267:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1270:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1270:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1264:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1264:2:84"
                    },
                    "nativeSrc": "1264:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1264:13:84"
                  },
                  "nativeSrc": "1256:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1278:18:84",
                    "nodeType": "YulBlock",
                    "src": "1278:18:84",
                    "statements": [
                      {
                        "nativeSrc": "1280:14:84",
                        "nodeType": "YulAssignment",
                        "src": "1280:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "1289:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "1289:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1292:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1292:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1285:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1285:3:84"
                          },
                          "nativeSrc": "1285:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1285:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "1280:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "1280:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1260:3:84",
                    "nodeType": "YulBlock",
                    "src": "1260:3:84",
                    "statements": []
                  },
                  "src": "1256:195:84"
                },
                {
                  "nativeSrc": "1460:11:84",
                  "nodeType": "YulAssignment",
                  "src": "1460:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "1468:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "1468:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1460:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1460:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "819:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "939:9:84",
                "nodeType": "YulTypedName",
                "src": "939:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "950:6:84",
                "nodeType": "YulTypedName",
                "src": "950:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "961:4:84",
                "nodeType": "YulTypedName",
                "src": "961:4:84",
                "type": ""
              }
            ],
            "src": "819:658:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_tuple_t_contract$_WitnetMockedRequestBytecodes_$23799_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value0 := value\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_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\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    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$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            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:44923:84",
        "nodeType": "YulBlock",
        "src": "0:44923:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "80:184:84",
              "nodeType": "YulBlock",
              "src": "80:184:84",
              "statements": [
                {
                  "nativeSrc": "90:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "90:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "99:1:84",
                    "nodeType": "YulLiteral",
                    "src": "99:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "94:1:84",
                      "nodeType": "YulTypedName",
                      "src": "94:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "159:63:84",
                    "nodeType": "YulBlock",
                    "src": "159:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "184:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "184:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "189:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "189:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "180:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "180:3:84"
                              },
                              "nativeSrc": "180:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "180:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "203:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "203:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "208:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "208:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "199:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "199:3:84"
                                  },
                                  "nativeSrc": "199:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "199:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "193:5:84"
                              },
                              "nativeSrc": "193:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "193:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "173:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "173:6:84"
                          },
                          "nativeSrc": "173:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "173:39:84"
                        },
                        "nativeSrc": "173:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "173:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "120:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "120:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "117:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "117:2:84"
                    },
                    "nativeSrc": "117:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "117:13:84"
                  },
                  "nativeSrc": "109:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "131:19:84",
                    "nodeType": "YulBlock",
                    "src": "131:19:84",
                    "statements": [
                      {
                        "nativeSrc": "133:15:84",
                        "nodeType": "YulAssignment",
                        "src": "133:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "142:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "142:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "145:2:84",
                              "nodeType": "YulLiteral",
                              "src": "145:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "138:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "138:3:84"
                          },
                          "nativeSrc": "138:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "138:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "133:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "133:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "113:3:84",
                    "nodeType": "YulBlock",
                    "src": "113:3:84",
                    "statements": []
                  },
                  "src": "109:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "242:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "242:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "247:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "247:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "238:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "238:3:84"
                        },
                        "nativeSrc": "238:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "238:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "256:1:84",
                        "nodeType": "YulLiteral",
                        "src": "256:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "231:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "231:6:84"
                    },
                    "nativeSrc": "231:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "231:27:84"
                  },
                  "nativeSrc": "231:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "231:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "14:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "58:3:84",
                "nodeType": "YulTypedName",
                "src": "58:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "63:3:84",
                "nodeType": "YulTypedName",
                "src": "63:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "68:6:84",
                "nodeType": "YulTypedName",
                "src": "68:6:84",
                "type": ""
              }
            ],
            "src": "14:250:84"
          },
          {
            "body": {
              "nativeSrc": "653:688:84",
              "nodeType": "YulBlock",
              "src": "653:688:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "670:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "670:3:84"
                      },
                      {
                        "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "675:21:84",
                        "nodeType": "YulLiteral",
                        "src": "675:21:84",
                        "type": "",
                        "value": "not implemented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "663:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "663:6:84"
                    },
                    "nativeSrc": "663:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "663:34:84"
                  },
                  "nativeSrc": "663:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "663:34:84"
                },
                {
                  "nativeSrc": "706:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "706:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "726:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "726:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "720:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "720:5:84"
                    },
                    "nativeSrc": "720:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "720:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "710:6:84",
                      "nodeType": "YulTypedName",
                      "src": "710:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "781:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "781:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "789:4:84",
                            "nodeType": "YulLiteral",
                            "src": "789:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "777:3:84"
                        },
                        "nativeSrc": "777:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "777:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "800:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "800:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "805:2:84",
                            "nodeType": "YulLiteral",
                            "src": "805:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "796:3:84"
                        },
                        "nativeSrc": "796:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "796:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "810:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "810:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "742:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "742:34:84"
                    },
                    "nativeSrc": "742:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "742:75:84"
                  },
                  "nativeSrc": "742:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "742:75:84"
                },
                {
                  "nativeSrc": "826:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "826:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "840:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "840:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "845:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "845:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "836:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "836:3:84"
                    },
                    "nativeSrc": "836:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "836:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "861:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "861:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "883:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "883:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "877:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "877:5:84"
                    },
                    "nativeSrc": "877:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "877:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "865:8:84",
                      "nodeType": "YulTypedName",
                      "src": "865:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "938:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "938:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "946:4:84",
                            "nodeType": "YulLiteral",
                            "src": "946:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "934:3:84"
                        },
                        "nativeSrc": "934:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "934:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "957:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "957:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "961:2:84",
                            "nodeType": "YulLiteral",
                            "src": "961:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "953:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "953:3:84"
                        },
                        "nativeSrc": "953:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "953:11:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "966:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "966:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "899:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "899:34:84"
                    },
                    "nativeSrc": "899:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "899:76:84"
                  },
                  "nativeSrc": "899:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "899:76:84"
                },
                {
                  "nativeSrc": "984:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "984:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "998:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "998:2:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1002:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1002:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "994:3:84"
                    },
                    "nativeSrc": "994:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "994:17:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "988:2:84",
                      "nodeType": "YulTypedName",
                      "src": "988:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1020:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1020:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "1042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1042:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1036:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1036:5:84"
                    },
                    "nativeSrc": "1036:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1036:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "1024:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1024:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "1097:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1097:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1105:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1105:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1093:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1093:3:84"
                        },
                        "nativeSrc": "1093:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1093:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "1116:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1116:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1112:3:84"
                        },
                        "nativeSrc": "1112:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1112:11:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1125:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1125:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1058:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1058:34:84"
                    },
                    "nativeSrc": "1058:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1058:76:84"
                  },
                  "nativeSrc": "1058:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1058:76:84"
                },
                {
                  "nativeSrc": "1143:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1143:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "1157:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1157:2:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1161:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1161:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1153:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1153:3:84"
                    },
                    "nativeSrc": "1153:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1153:17:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "1147:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1147:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1179:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1179:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "1201:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1201:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1195:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1195:5:84"
                    },
                    "nativeSrc": "1195:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1195:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "1183:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1183:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "1256:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1256:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1264:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1264:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1252:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1252:3:84"
                        },
                        "nativeSrc": "1252:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1252:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1275:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1275:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1279:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1279:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1271:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1271:3:84"
                        },
                        "nativeSrc": "1271:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1271:11:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "1284:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1284:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1217:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1217:34:84"
                    },
                    "nativeSrc": "1217:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1217:76:84"
                  },
                  "nativeSrc": "1217:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1217:76:84"
                },
                {
                  "nativeSrc": "1302:33:84",
                  "nodeType": "YulAssignment",
                  "src": "1302:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1317:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1317:2:84"
                          },
                          {
                            "name": "length_3",
                            "nativeSrc": "1321:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "1321:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1313:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1313:3:84"
                        },
                        "nativeSrc": "1313:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1313:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1332:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1332:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1309:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1309:3:84"
                    },
                    "nativeSrc": "1309:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1309:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1302:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1302:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "269:1072:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "605:3:84",
                "nodeType": "YulTypedName",
                "src": "605:3:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "610:6:84",
                "nodeType": "YulTypedName",
                "src": "610:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "618:6:84",
                "nodeType": "YulTypedName",
                "src": "618:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "626:6:84",
                "nodeType": "YulTypedName",
                "src": "626:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "634:6:84",
                "nodeType": "YulTypedName",
                "src": "634:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "645:3:84",
                "nodeType": "YulTypedName",
                "src": "645:3:84",
                "type": ""
              }
            ],
            "src": "269:1072:84"
          },
          {
            "body": {
              "nativeSrc": "1391:86:84",
              "nodeType": "YulBlock",
              "src": "1391:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1455:16:84",
                    "nodeType": "YulBlock",
                    "src": "1455:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1464:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1464:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1467:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1467:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1457:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1457:6:84"
                          },
                          "nativeSrc": "1457:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1457:12:84"
                        },
                        "nativeSrc": "1457:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1457:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1414:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1414:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1425:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1425:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1440:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1440:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1445:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1445:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "1436:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1436:3:84"
                                    },
                                    "nativeSrc": "1436:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1436:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1449:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1449:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "1432:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1432:3:84"
                                },
                                "nativeSrc": "1432:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1432:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1421:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1421:3:84"
                            },
                            "nativeSrc": "1421:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1421:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1411:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1411:2:84"
                        },
                        "nativeSrc": "1411:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1411:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1404:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1404:6:84"
                    },
                    "nativeSrc": "1404:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1404:50:84"
                  },
                  "nativeSrc": "1401:70:84",
                  "nodeType": "YulIf",
                  "src": "1401:70:84"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "1346:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1380:5:84",
                "nodeType": "YulTypedName",
                "src": "1380:5:84",
                "type": ""
              }
            ],
            "src": "1346:131:84"
          },
          {
            "body": {
              "nativeSrc": "1552:177:84",
              "nodeType": "YulBlock",
              "src": "1552:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1598:16:84",
                    "nodeType": "YulBlock",
                    "src": "1598:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1607:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1607:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1610:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1610:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1600:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1600:6:84"
                          },
                          "nativeSrc": "1600:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1600:12:84"
                        },
                        "nativeSrc": "1600:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1600:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1573:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1573:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1582:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1582:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1569:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1569:3:84"
                        },
                        "nativeSrc": "1569:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1569:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1594:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1594:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1565:3:84"
                    },
                    "nativeSrc": "1565:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1565:32:84"
                  },
                  "nativeSrc": "1562:52:84",
                  "nodeType": "YulIf",
                  "src": "1562:52:84"
                },
                {
                  "nativeSrc": "1623:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1623:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1649:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1649:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1636:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1636:12:84"
                    },
                    "nativeSrc": "1636:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1636:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1627:5:84",
                      "nodeType": "YulTypedName",
                      "src": "1627:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1693:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1693:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1668:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "1668:24:84"
                    },
                    "nativeSrc": "1668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1668:31:84"
                  },
                  "nativeSrc": "1668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1668:31:84"
                },
                {
                  "nativeSrc": "1708:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1708:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1718:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "1718:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1708:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "1482:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1518:9:84",
                "nodeType": "YulTypedName",
                "src": "1518:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1529:7:84",
                "nodeType": "YulTypedName",
                "src": "1529:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1541:6:84",
                "nodeType": "YulTypedName",
                "src": "1541:6:84",
                "type": ""
              }
            ],
            "src": "1482:247:84"
          },
          {
            "body": {
              "nativeSrc": "1829:92:84",
              "nodeType": "YulBlock",
              "src": "1829:92:84",
              "statements": [
                {
                  "nativeSrc": "1839:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1839:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1851:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1851:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1862:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1862:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1847:3:84"
                    },
                    "nativeSrc": "1847:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1847:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1839:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1839:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1881:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1881:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "1906:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1906:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "1899:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "1899:6:84"
                            },
                            "nativeSrc": "1899:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1899:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "1892:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "1892:6:84"
                        },
                        "nativeSrc": "1892:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1892:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1874:6:84"
                    },
                    "nativeSrc": "1874:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1874:41:84"
                  },
                  "nativeSrc": "1874:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1874:41:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "1734:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1798:9:84",
                "nodeType": "YulTypedName",
                "src": "1798:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1809:6:84",
                "nodeType": "YulTypedName",
                "src": "1809:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1820:4:84",
                "nodeType": "YulTypedName",
                "src": "1820:4:84",
                "type": ""
              }
            ],
            "src": "1734:187:84"
          },
          {
            "body": {
              "nativeSrc": "1974:113:84",
              "nodeType": "YulBlock",
              "src": "1974:113:84",
              "statements": [
                {
                  "nativeSrc": "1984:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1984:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2006:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1993:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1993:12:84"
                    },
                    "nativeSrc": "1993:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1993:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1984:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1984:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2065:16:84",
                    "nodeType": "YulBlock",
                    "src": "2065:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2074:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2077:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2077:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2067:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2067:6:84"
                          },
                          "nativeSrc": "2067:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2067:12:84"
                        },
                        "nativeSrc": "2067:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2067:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2035:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2035:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2046:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2046:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2053:8:84",
                                "nodeType": "YulLiteral",
                                "src": "2053:8:84",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2042:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2042:3:84"
                            },
                            "nativeSrc": "2042:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2042:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2032:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2032:2:84"
                        },
                        "nativeSrc": "2032:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2032:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2025:6:84"
                    },
                    "nativeSrc": "2025:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2025:39:84"
                  },
                  "nativeSrc": "2022:59:84",
                  "nodeType": "YulIf",
                  "src": "2022:59:84"
                }
              ]
            },
            "name": "abi_decode_uint24",
            "nativeSrc": "1926:161:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1953:6:84",
                "nodeType": "YulTypedName",
                "src": "1953:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1964:5:84",
                "nodeType": "YulTypedName",
                "src": "1964:5:84",
                "type": ""
              }
            ],
            "src": "1926:161:84"
          },
          {
            "body": {
              "nativeSrc": "2178:166:84",
              "nodeType": "YulBlock",
              "src": "2178:166:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2224:16:84",
                    "nodeType": "YulBlock",
                    "src": "2224:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2233:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2233:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2236:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2236:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2226:6:84"
                          },
                          "nativeSrc": "2226:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2226:12:84"
                        },
                        "nativeSrc": "2226:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2226:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2199:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2199:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2208:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2208:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2195:3:84"
                        },
                        "nativeSrc": "2195:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2195:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2191:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2191:3:84"
                    },
                    "nativeSrc": "2191:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2191:32:84"
                  },
                  "nativeSrc": "2188:52:84",
                  "nodeType": "YulIf",
                  "src": "2188:52:84"
                },
                {
                  "nativeSrc": "2249:33:84",
                  "nodeType": "YulAssignment",
                  "src": "2249:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2272:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2272:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2259:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2259:12:84"
                    },
                    "nativeSrc": "2259:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2259:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2249:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "2291:47:84",
                  "nodeType": "YulAssignment",
                  "src": "2291:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2323:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2323:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2334:2:84",
                            "nodeType": "YulLiteral",
                            "src": "2334:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2319:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2319:3:84"
                        },
                        "nativeSrc": "2319:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2319:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "2301:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "2301:17:84"
                    },
                    "nativeSrc": "2301:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2301:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "2291:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2291:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint24",
            "nativeSrc": "2092:252:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2136:9:84",
                "nodeType": "YulTypedName",
                "src": "2136:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2147:7:84",
                "nodeType": "YulTypedName",
                "src": "2147:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2159:6:84",
                "nodeType": "YulTypedName",
                "src": "2159:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2167:6:84",
                "nodeType": "YulTypedName",
                "src": "2167:6:84",
                "type": ""
              }
            ],
            "src": "2092:252:84"
          },
          {
            "body": {
              "nativeSrc": "2450:76:84",
              "nodeType": "YulBlock",
              "src": "2450:76:84",
              "statements": [
                {
                  "nativeSrc": "2460:26:84",
                  "nodeType": "YulAssignment",
                  "src": "2460:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2472:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2472:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2483:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2483:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2468:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2468:3:84"
                    },
                    "nativeSrc": "2468:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2468:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2460:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2460:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2502:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2502:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "2513:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2513:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2495:6:84"
                    },
                    "nativeSrc": "2495:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2495:25:84"
                  },
                  "nativeSrc": "2495:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2495:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "2349:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2419:9:84",
                "nodeType": "YulTypedName",
                "src": "2419:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2430:6:84",
                "nodeType": "YulTypedName",
                "src": "2430:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2441:4:84",
                "nodeType": "YulTypedName",
                "src": "2441:4:84",
                "type": ""
              }
            ],
            "src": "2349:177:84"
          },
          {
            "body": {
              "nativeSrc": "2635:283:84",
              "nodeType": "YulBlock",
              "src": "2635:283:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2684:16:84",
                    "nodeType": "YulBlock",
                    "src": "2684:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2693:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2693:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2696:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2696:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2686:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2686:6:84"
                          },
                          "nativeSrc": "2686:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2686:12:84"
                        },
                        "nativeSrc": "2686:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2686:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2663:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2663:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2671:4:84",
                                "nodeType": "YulLiteral",
                                "src": "2671:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2659:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2659:3:84"
                            },
                            "nativeSrc": "2659:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2659:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "2678:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2678:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "2655:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2655:3:84"
                        },
                        "nativeSrc": "2655:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2655:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2648:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2648:6:84"
                    },
                    "nativeSrc": "2648:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2648:35:84"
                  },
                  "nativeSrc": "2645:55:84",
                  "nodeType": "YulIf",
                  "src": "2645:55:84"
                },
                {
                  "nativeSrc": "2709:30:84",
                  "nodeType": "YulAssignment",
                  "src": "2709:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2732:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2732:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2719:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2719:12:84"
                    },
                    "nativeSrc": "2719:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2719:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "2709:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2709:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2782:16:84",
                    "nodeType": "YulBlock",
                    "src": "2782:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2791:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2791:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2794:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2794:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2784:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2784:6:84"
                          },
                          "nativeSrc": "2784:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2784:12:84"
                        },
                        "nativeSrc": "2784:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2784:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "2754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2754:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2762:18:84",
                        "nodeType": "YulLiteral",
                        "src": "2762:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2751:2:84"
                    },
                    "nativeSrc": "2751:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2751:30:84"
                  },
                  "nativeSrc": "2748:50:84",
                  "nodeType": "YulIf",
                  "src": "2748:50:84"
                },
                {
                  "nativeSrc": "2807:29:84",
                  "nodeType": "YulAssignment",
                  "src": "2807:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2823:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2823:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2831:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2831:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2819:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2819:3:84"
                    },
                    "nativeSrc": "2819:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2819:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "2807:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "2807:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2896:16:84",
                    "nodeType": "YulBlock",
                    "src": "2896:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2905:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2905:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2908:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2898:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2898:6:84"
                          },
                          "nativeSrc": "2898:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2898:12:84"
                        },
                        "nativeSrc": "2898:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2898:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2859:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2859:6:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2871:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2871:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "2874:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2874:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "2867:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2867:3:84"
                                },
                                "nativeSrc": "2867:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2867:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2855:3:84"
                            },
                            "nativeSrc": "2855:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2855:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2884:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2884:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2851:3:84"
                        },
                        "nativeSrc": "2851:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2851:38:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2891:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2891:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2848:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2848:2:84"
                    },
                    "nativeSrc": "2848:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2848:47:84"
                  },
                  "nativeSrc": "2845:67:84",
                  "nodeType": "YulIf",
                  "src": "2845:67:84"
                }
              ]
            },
            "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
            "nativeSrc": "2531:387:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "2598:6:84",
                "nodeType": "YulTypedName",
                "src": "2598:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "2606:3:84",
                "nodeType": "YulTypedName",
                "src": "2606:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "2614:8:84",
                "nodeType": "YulTypedName",
                "src": "2614:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2624:6:84",
                "nodeType": "YulTypedName",
                "src": "2624:6:84",
                "type": ""
              }
            ],
            "src": "2531:387:84"
          },
          {
            "body": {
              "nativeSrc": "3060:352:84",
              "nodeType": "YulBlock",
              "src": "3060:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3106:16:84",
                    "nodeType": "YulBlock",
                    "src": "3106:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3115:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3115:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3118:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3108:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3108:6:84"
                          },
                          "nativeSrc": "3108:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3108:12:84"
                        },
                        "nativeSrc": "3108:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3108:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3081:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3081:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3090:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3090:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3077:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3077:3:84"
                        },
                        "nativeSrc": "3077:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3077:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3102:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3102:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3073:3:84"
                    },
                    "nativeSrc": "3073:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3073:32:84"
                  },
                  "nativeSrc": "3070:52:84",
                  "nodeType": "YulIf",
                  "src": "3070:52:84"
                },
                {
                  "nativeSrc": "3131:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3131:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3158:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3158:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3145:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3145:12:84"
                    },
                    "nativeSrc": "3145:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3145:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "3135:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3135:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3211:16:84",
                    "nodeType": "YulBlock",
                    "src": "3211:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3220:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3223:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3223:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3213:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3213:6:84"
                          },
                          "nativeSrc": "3213:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3213:12:84"
                        },
                        "nativeSrc": "3213:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3213:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3183:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3183:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3191:18:84",
                        "nodeType": "YulLiteral",
                        "src": "3191:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3180:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3180:2:84"
                    },
                    "nativeSrc": "3180:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3180:30:84"
                  },
                  "nativeSrc": "3177:50:84",
                  "nodeType": "YulIf",
                  "src": "3177:50:84"
                },
                {
                  "nativeSrc": "3236:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3236:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3324:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3324:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "3335:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3335:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3320:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3320:3:84"
                        },
                        "nativeSrc": "3320:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3320:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3344:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3344:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "3262:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "3262:57:84"
                    },
                    "nativeSrc": "3262:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3262:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "3240:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3240:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "3250:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3250:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3361:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3361:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "3371:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3371:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3361:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3388:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3388:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "3398:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3398:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "3388:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3388:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "2923:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3018:9:84",
                "nodeType": "YulTypedName",
                "src": "3018:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3029:7:84",
                "nodeType": "YulTypedName",
                "src": "3029:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3041:6:84",
                "nodeType": "YulTypedName",
                "src": "3041:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3049:6:84",
                "nodeType": "YulTypedName",
                "src": "3049:6:84",
                "type": ""
              }
            ],
            "src": "2923:489:84"
          },
          {
            "body": {
              "nativeSrc": "3487:110:84",
              "nodeType": "YulBlock",
              "src": "3487:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3533:16:84",
                    "nodeType": "YulBlock",
                    "src": "3533:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3542:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3545:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3545:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3535:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3535:6:84"
                          },
                          "nativeSrc": "3535:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3535:12:84"
                        },
                        "nativeSrc": "3535:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3535:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3508:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3508:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3517:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3517:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3504:3:84"
                        },
                        "nativeSrc": "3504:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3504:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3529:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3529:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3500:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3500:3:84"
                    },
                    "nativeSrc": "3500:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3500:32:84"
                  },
                  "nativeSrc": "3497:52:84",
                  "nodeType": "YulIf",
                  "src": "3497:52:84"
                },
                {
                  "nativeSrc": "3558:33:84",
                  "nodeType": "YulAssignment",
                  "src": "3558:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3581:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3581:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3568:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3568:12:84"
                    },
                    "nativeSrc": "3568:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3568:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3558:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "3417:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3453:9:84",
                "nodeType": "YulTypedName",
                "src": "3453:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3464:7:84",
                "nodeType": "YulTypedName",
                "src": "3464:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3476:6:84",
                "nodeType": "YulTypedName",
                "src": "3476:6:84",
                "type": ""
              }
            ],
            "src": "3417:180:84"
          },
          {
            "body": {
              "nativeSrc": "3651:221:84",
              "nodeType": "YulBlock",
              "src": "3651:221:84",
              "statements": [
                {
                  "nativeSrc": "3661:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3661:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3681:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3681:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3675:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3675:5:84"
                    },
                    "nativeSrc": "3675:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3675:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3665:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3665:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3703:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3703:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3708:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3696:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3696:6:84"
                    },
                    "nativeSrc": "3696:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3696:19:84"
                  },
                  "nativeSrc": "3696:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3696:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3763:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3763:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3770:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3770:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3759:3:84"
                        },
                        "nativeSrc": "3759:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3759:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3781:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3781:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3786:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3786:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3777:3:84"
                        },
                        "nativeSrc": "3777:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3777:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3793:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3793:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "3724:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "3724:34:84"
                    },
                    "nativeSrc": "3724:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3724:76:84"
                  },
                  "nativeSrc": "3724:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3724:76:84"
                },
                {
                  "nativeSrc": "3809:57:84",
                  "nodeType": "YulAssignment",
                  "src": "3809:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3824:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3824:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "3837:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3837:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3845:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3845:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3833:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3833:3:84"
                                },
                                "nativeSrc": "3833:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3833:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3854:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3854:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "3850:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3850:3:84"
                                },
                                "nativeSrc": "3850:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3850:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3829:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3829:3:84"
                            },
                            "nativeSrc": "3829:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3829:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3820:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3820:3:84"
                        },
                        "nativeSrc": "3820:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3820:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3861:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3861:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3816:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3816:3:84"
                    },
                    "nativeSrc": "3816:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3816:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3809:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3809:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "3602:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3628:5:84",
                "nodeType": "YulTypedName",
                "src": "3628:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3635:3:84",
                "nodeType": "YulTypedName",
                "src": "3635:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3643:3:84",
                "nodeType": "YulTypedName",
                "src": "3643:3:84",
                "type": ""
              }
            ],
            "src": "3602:270:84"
          },
          {
            "body": {
              "nativeSrc": "3936:428:84",
              "nodeType": "YulBlock",
              "src": "3936:428:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3953:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3953:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3968:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "3968:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3962:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "3962:5:84"
                            },
                            "nativeSrc": "3962:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3962:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3984:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3984:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3989:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3989:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3980:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3980:3:84"
                                },
                                "nativeSrc": "3980:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3980:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3993:1:84",
                                "nodeType": "YulLiteral",
                                "src": "3993:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "3976:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3976:3:84"
                            },
                            "nativeSrc": "3976:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3976:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3958:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3958:3:84"
                        },
                        "nativeSrc": "3958:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3958:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3946:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3946:6:84"
                    },
                    "nativeSrc": "3946:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3946:51:84"
                  },
                  "nativeSrc": "3946:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3946:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4017:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4017:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4022:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4022:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4013:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4013:3:84"
                        },
                        "nativeSrc": "4013:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4013:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4043:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4043:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4050:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4050:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4039:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4039:3:84"
                                },
                                "nativeSrc": "4039:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4039:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4033:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4033:5:84"
                            },
                            "nativeSrc": "4033:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4033:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4058:18:84",
                            "nodeType": "YulLiteral",
                            "src": "4058:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4029:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4029:3:84"
                        },
                        "nativeSrc": "4029:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4029:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4006:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4006:6:84"
                    },
                    "nativeSrc": "4006:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4006:72:84"
                  },
                  "nativeSrc": "4006:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4006:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4098:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4098:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4103:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4103:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4094:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4094:3:84"
                        },
                        "nativeSrc": "4094:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4094:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4124:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4124:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4131:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4131:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4120:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4120:3:84"
                                },
                                "nativeSrc": "4120:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4120:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4114:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4114:5:84"
                            },
                            "nativeSrc": "4114:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4114:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4139:10:84",
                            "nodeType": "YulLiteral",
                            "src": "4139:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4110:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4110:3:84"
                        },
                        "nativeSrc": "4110:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4110:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4087:6:84"
                    },
                    "nativeSrc": "4087:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4087:64:84"
                  },
                  "nativeSrc": "4087:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4087:64:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4171:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4171:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4176:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4176:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4167:3:84"
                        },
                        "nativeSrc": "4167:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4167:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4193:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4200:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4200:4:84",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4189:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4189:3:84"
                            },
                            "nativeSrc": "4189:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4189:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "4183:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4183:5:84"
                        },
                        "nativeSrc": "4183:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4183:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4160:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4160:6:84"
                    },
                    "nativeSrc": "4160:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4160:47:84"
                  },
                  "nativeSrc": "4160:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4160:47:84"
                },
                {
                  "nativeSrc": "4216:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4216:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4246:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4246:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4253:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4253:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4242:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4242:3:84"
                        },
                        "nativeSrc": "4242:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4242:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4236:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4236:5:84"
                    },
                    "nativeSrc": "4236:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4236:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4220:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4220:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4279:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4279:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4284:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4284:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4275:3:84"
                        },
                        "nativeSrc": "4275:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4275:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4291:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4291:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4268:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4268:6:84"
                    },
                    "nativeSrc": "4268:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4268:28:84"
                  },
                  "nativeSrc": "4268:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4268:28:84"
                },
                {
                  "nativeSrc": "4305:53:84",
                  "nodeType": "YulAssignment",
                  "src": "4305:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "4329:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "4329:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4347:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4347:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4352:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4352:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4343:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4343:3:84"
                        },
                        "nativeSrc": "4343:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4343:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "4312:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "4312:16:84"
                    },
                    "nativeSrc": "4312:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4312:46:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4305:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Response",
            "nativeSrc": "3877:487:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3913:5:84",
                "nodeType": "YulTypedName",
                "src": "3913:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3920:3:84",
                "nodeType": "YulTypedName",
                "src": "3920:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3928:3:84",
                "nodeType": "YulTypedName",
                "src": "3928:3:84",
                "type": ""
              }
            ],
            "src": "3877:487:84"
          },
          {
            "body": {
              "nativeSrc": "4524:108:84",
              "nodeType": "YulBlock",
              "src": "4524:108:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4541:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4541:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4552:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4534:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4534:6:84"
                    },
                    "nativeSrc": "4534:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4534:21:84"
                  },
                  "nativeSrc": "4534:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4534:21:84"
                },
                {
                  "nativeSrc": "4564:62:84",
                  "nodeType": "YulAssignment",
                  "src": "4564:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "4599:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4599:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4622:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4607:3:84"
                        },
                        "nativeSrc": "4607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4607:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "4572:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "4572:26:84"
                    },
                    "nativeSrc": "4572:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4572:54:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4564:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4564:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed",
            "nativeSrc": "4369:263:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4493:9:84",
                "nodeType": "YulTypedName",
                "src": "4493:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4504:6:84",
                "nodeType": "YulTypedName",
                "src": "4504:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4515:4:84",
                "nodeType": "YulTypedName",
                "src": "4515:4:84",
                "type": ""
              }
            ],
            "src": "4369:263:84"
          },
          {
            "body": {
              "nativeSrc": "4695:661:84",
              "nodeType": "YulBlock",
              "src": "4695:661:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "4712:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4712:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4727:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4727:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4721:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4721:5:84"
                            },
                            "nativeSrc": "4721:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4721:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4743:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4743:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4748:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4748:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4739:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4739:3:84"
                                },
                                "nativeSrc": "4739:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4739:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4752:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4752:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "4735:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4735:3:84"
                            },
                            "nativeSrc": "4735:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4735:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4717:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4717:3:84"
                        },
                        "nativeSrc": "4717:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4717:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4705:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4705:6:84"
                    },
                    "nativeSrc": "4705:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4705:51:84"
                  },
                  "nativeSrc": "4705:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4705:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4776:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4776:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4781:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4781:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4772:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4772:3:84"
                        },
                        "nativeSrc": "4772:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4772:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4802:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4802:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4809:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4809:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4798:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4798:3:84"
                                },
                                "nativeSrc": "4798:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4798:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4792:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4792:5:84"
                            },
                            "nativeSrc": "4792:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4792:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4817:8:84",
                            "nodeType": "YulLiteral",
                            "src": "4817:8:84",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4788:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4788:3:84"
                        },
                        "nativeSrc": "4788:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4788:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4765:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4765:6:84"
                    },
                    "nativeSrc": "4765:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4765:62:84"
                  },
                  "nativeSrc": "4765:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4765:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4847:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4847:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4852:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4852:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4843:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4843:3:84"
                        },
                        "nativeSrc": "4843:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4843:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4873:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4873:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4880:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4880:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4869:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4869:3:84"
                                },
                                "nativeSrc": "4869:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4869:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4863:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4863:5:84"
                            },
                            "nativeSrc": "4863:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4863:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4888:20:84",
                            "nodeType": "YulLiteral",
                            "src": "4888:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4859:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4859:3:84"
                        },
                        "nativeSrc": "4859:50:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4859:50:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4836:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4836:6:84"
                    },
                    "nativeSrc": "4836:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4836:74:84"
                  },
                  "nativeSrc": "4836:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4836:74:84"
                },
                {
                  "nativeSrc": "4919:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4919:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4949:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4949:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4956:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4956:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4945:3:84"
                        },
                        "nativeSrc": "4945:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4945:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4939:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4939:5:84"
                    },
                    "nativeSrc": "4939:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4939:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4923:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4923:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4982:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4982:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4987:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4987:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4978:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4978:3:84"
                        },
                        "nativeSrc": "4978:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4978:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4994:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4971:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4971:6:84"
                    },
                    "nativeSrc": "4971:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4971:28:84"
                  },
                  "nativeSrc": "4971:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4971:28:84"
                },
                {
                  "nativeSrc": "5008:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5008:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "5037:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "5037:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5060:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5060:4:84",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5051:3:84"
                        },
                        "nativeSrc": "5051:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5051:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "5020:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "5020:16:84"
                    },
                    "nativeSrc": "5020:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5020:46:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "5012:4:84",
                      "nodeType": "YulTypedName",
                      "src": "5012:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5086:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5086:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5091:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5091:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5082:3:84"
                        },
                        "nativeSrc": "5082:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5082:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "5108:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "5108:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5115:4:84",
                                "nodeType": "YulLiteral",
                                "src": "5115:4:84",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5104:3:84"
                            },
                            "nativeSrc": "5104:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5104:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "5098:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "5098:5:84"
                        },
                        "nativeSrc": "5098:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5098:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5075:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5075:6:84"
                    },
                    "nativeSrc": "5075:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5075:47:84"
                  },
                  "nativeSrc": "5075:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5075:47:84"
                },
                {
                  "nativeSrc": "5131:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5131:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5163:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5163:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5170:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5170:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5159:3:84"
                        },
                        "nativeSrc": "5159:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5159:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5153:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5153:5:84"
                    },
                    "nativeSrc": "5153:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5153:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "5135:14:84",
                      "nodeType": "YulTypedName",
                      "src": "5135:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5196:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5196:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5201:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5201:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5192:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5192:3:84"
                        },
                        "nativeSrc": "5192:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5192:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0_1",
                                "nativeSrc": "5218:14:84",
                                "nodeType": "YulIdentifier",
                                "src": "5218:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5212:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5212:5:84"
                            },
                            "nativeSrc": "5212:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5212:21:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5235:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5235:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5208:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5208:3:84"
                        },
                        "nativeSrc": "5208:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5208:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5185:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5185:6:84"
                    },
                    "nativeSrc": "5185:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5185:56:84"
                  },
                  "nativeSrc": "5185:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5185:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5261:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5261:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5266:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5266:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5257:3:84"
                        },
                        "nativeSrc": "5257:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5257:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "memberValue0_1",
                                    "nativeSrc": "5286:14:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5286:14:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5302:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "5302:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5282:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5282:3:84"
                                },
                                "nativeSrc": "5282:25:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5282:25:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5276:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5276:5:84"
                            },
                            "nativeSrc": "5276:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5276:32:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5310:18:84",
                            "nodeType": "YulLiteral",
                            "src": "5310:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5272:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5272:3:84"
                        },
                        "nativeSrc": "5272:57:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5272:57:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5250:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5250:6:84"
                    },
                    "nativeSrc": "5250:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5250:80:84"
                  },
                  "nativeSrc": "5250:80:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5250:80:84"
                },
                {
                  "nativeSrc": "5339:11:84",
                  "nodeType": "YulAssignment",
                  "src": "5339:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "5346:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "5346:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "5339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5339:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Request",
            "nativeSrc": "4637:719:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4672:5:84",
                "nodeType": "YulTypedName",
                "src": "4672:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "4679:3:84",
                "nodeType": "YulTypedName",
                "src": "4679:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "4687:3:84",
                "nodeType": "YulTypedName",
                "src": "4687:3:84",
                "type": ""
              }
            ],
            "src": "4637:719:84"
          },
          {
            "body": {
              "nativeSrc": "5514:107:84",
              "nodeType": "YulBlock",
              "src": "5514:107:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5531:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5531:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5542:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5542:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5524:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5524:6:84"
                    },
                    "nativeSrc": "5524:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5524:21:84"
                  },
                  "nativeSrc": "5524:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5524:21:84"
                },
                {
                  "nativeSrc": "5554:61:84",
                  "nodeType": "YulAssignment",
                  "src": "5554:61:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5588:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5588:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5600:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5600:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5611:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5611:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5596:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5596:3:84"
                        },
                        "nativeSrc": "5596:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5596:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "5562:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "5562:25:84"
                    },
                    "nativeSrc": "5562:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5562:53:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5554:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "5554:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed",
            "nativeSrc": "5361:260:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5483:9:84",
                "nodeType": "YulTypedName",
                "src": "5483:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5494:6:84",
                "nodeType": "YulTypedName",
                "src": "5494:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5505:4:84",
                "nodeType": "YulTypedName",
                "src": "5505:4:84",
                "type": ""
              }
            ],
            "src": "5361:260:84"
          },
          {
            "body": {
              "nativeSrc": "5658:95:84",
              "nodeType": "YulBlock",
              "src": "5658:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5675:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5675:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5682:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5682:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5687:10:84",
                            "nodeType": "YulLiteral",
                            "src": "5687:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5678:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5678:3:84"
                        },
                        "nativeSrc": "5678:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5678:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5668:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5668:6:84"
                    },
                    "nativeSrc": "5668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5668:31:84"
                  },
                  "nativeSrc": "5668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5668:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5715:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5715:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5718:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5718:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5708:6:84"
                    },
                    "nativeSrc": "5708:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5708:15:84"
                  },
                  "nativeSrc": "5708:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5708:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5739:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5739:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5742:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5742:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5732:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5732:6:84"
                    },
                    "nativeSrc": "5732:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5732:15:84"
                  },
                  "nativeSrc": "5732:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5732:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "5626:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "5626:127:84"
          },
          {
            "body": {
              "nativeSrc": "5814:89:84",
              "nodeType": "YulBlock",
              "src": "5814:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5848:22:84",
                    "nodeType": "YulBlock",
                    "src": "5848:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "5850:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "5850:16:84"
                          },
                          "nativeSrc": "5850:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5850:18:84"
                        },
                        "nativeSrc": "5850:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5850:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5837:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5837:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5844:1:84",
                            "nodeType": "YulLiteral",
                            "src": "5844:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5834:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5834:2:84"
                        },
                        "nativeSrc": "5834:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5834:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5827:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5827:6:84"
                    },
                    "nativeSrc": "5827:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5827:20:84"
                  },
                  "nativeSrc": "5824:46:84",
                  "nodeType": "YulIf",
                  "src": "5824:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "5886:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "5886:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "5891:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "5891:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5879:6:84"
                    },
                    "nativeSrc": "5879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5879:18:84"
                  },
                  "nativeSrc": "5879:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5879:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResponseStatus",
            "nativeSrc": "5758:145:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "5798:5:84",
                "nodeType": "YulTypedName",
                "src": "5798:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "5805:3:84",
                "nodeType": "YulTypedName",
                "src": "5805:3:84",
                "type": ""
              }
            ],
            "src": "5758:145:84"
          },
          {
            "body": {
              "nativeSrc": "6027:100:84",
              "nodeType": "YulBlock",
              "src": "6027:100:84",
              "statements": [
                {
                  "nativeSrc": "6037:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6037:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6060:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6060:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6045:3:84"
                    },
                    "nativeSrc": "6045:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6045:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6037:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "6103:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6103:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "6111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6111:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "6072:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "6072:30:84"
                    },
                    "nativeSrc": "6072:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6072:49:84"
                  },
                  "nativeSrc": "6072:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6072:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed",
            "nativeSrc": "5908:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5996:9:84",
                "nodeType": "YulTypedName",
                "src": "5996:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6007:6:84",
                "nodeType": "YulTypedName",
                "src": "6007:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6018:4:84",
                "nodeType": "YulTypedName",
                "src": "6018:4:84",
                "type": ""
              }
            ],
            "src": "5908:219:84"
          },
          {
            "body": {
              "nativeSrc": "6164:95:84",
              "nodeType": "YulBlock",
              "src": "6164:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6181:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6181:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6188:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6188:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6193:10:84",
                            "nodeType": "YulLiteral",
                            "src": "6193:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6184:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6184:3:84"
                        },
                        "nativeSrc": "6184:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6184:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6174:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6174:6:84"
                    },
                    "nativeSrc": "6174:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6174:31:84"
                  },
                  "nativeSrc": "6174:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6174:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6221:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6221:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6224:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6224:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6214:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6214:6:84"
                    },
                    "nativeSrc": "6214:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6214:15:84"
                  },
                  "nativeSrc": "6214:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6214:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6245:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6245:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6248:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6248:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6238:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6238:6:84"
                    },
                    "nativeSrc": "6238:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6238:15:84"
                  },
                  "nativeSrc": "6238:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6238:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6132:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "6132:127:84"
          },
          {
            "body": {
              "nativeSrc": "6311:202:84",
              "nodeType": "YulBlock",
              "src": "6311:202:84",
              "statements": [
                {
                  "nativeSrc": "6321:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6321:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6343:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6343:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6359:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "6359:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6365:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6365:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6355:3:84"
                            },
                            "nativeSrc": "6355:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6355:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6370:3:84"
                            },
                            "nativeSrc": "6370:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6370:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6351:3:84"
                        },
                        "nativeSrc": "6351:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6351:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6339:3:84"
                    },
                    "nativeSrc": "6339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6339:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6325:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6325:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6454:22:84",
                    "nodeType": "YulBlock",
                    "src": "6454:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6456:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6456:16:84"
                          },
                          "nativeSrc": "6456:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6456:18:84"
                        },
                        "nativeSrc": "6456:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6456:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6397:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6397:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6409:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6409:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6394:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6394:2:84"
                        },
                        "nativeSrc": "6394:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6394:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6433:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6433:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6445:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6445:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6430:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6430:2:84"
                        },
                        "nativeSrc": "6430:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6430:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6391:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6391:2:84"
                    },
                    "nativeSrc": "6391:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6391:62:84"
                  },
                  "nativeSrc": "6388:88:84",
                  "nodeType": "YulIf",
                  "src": "6388:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6492:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6492:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6496:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "6496:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6485:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6485:6:84"
                    },
                    "nativeSrc": "6485:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6485:22:84"
                  },
                  "nativeSrc": "6485:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6485:22:84"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "6264:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6293:6:84",
                "nodeType": "YulTypedName",
                "src": "6293:6:84",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "6301:4:84",
                "nodeType": "YulTypedName",
                "src": "6301:4:84",
                "type": ""
              }
            ],
            "src": "6264:249:84"
          },
          {
            "body": {
              "nativeSrc": "6587:114:84",
              "nodeType": "YulBlock",
              "src": "6587:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6631:22:84",
                    "nodeType": "YulBlock",
                    "src": "6631:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6633:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6633:16:84"
                          },
                          "nativeSrc": "6633:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6633:18:84"
                        },
                        "nativeSrc": "6633:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6633:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "6603:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6603:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6611:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6611:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6600:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6600:2:84"
                    },
                    "nativeSrc": "6600:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6600:30:84"
                  },
                  "nativeSrc": "6597:56:84",
                  "nodeType": "YulIf",
                  "src": "6597:56:84"
                },
                {
                  "nativeSrc": "6662:33:84",
                  "nodeType": "YulAssignment",
                  "src": "6662:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6678:1:84",
                            "nodeType": "YulLiteral",
                            "src": "6678:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "6681:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6681:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6674:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6674:3:84"
                        },
                        "nativeSrc": "6674:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6674:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6690:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6690:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6670:3:84"
                    },
                    "nativeSrc": "6670:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6670:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "6662:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6662:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_address_dyn",
            "nativeSrc": "6518:183:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "6567:6:84",
                "nodeType": "YulTypedName",
                "src": "6567:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "6578:4:84",
                "nodeType": "YulTypedName",
                "src": "6578:4:84",
                "type": ""
              }
            ],
            "src": "6518:183:84"
          },
          {
            "body": {
              "nativeSrc": "6801:933:84",
              "nodeType": "YulBlock",
              "src": "6801:933:84",
              "statements": [
                {
                  "nativeSrc": "6811:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6811:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6821:2:84",
                    "nodeType": "YulLiteral",
                    "src": "6821:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "6815:2:84",
                      "nodeType": "YulTypedName",
                      "src": "6815:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6868:16:84",
                    "nodeType": "YulBlock",
                    "src": "6868:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6877:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6877:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6880:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6870:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6870:6:84"
                          },
                          "nativeSrc": "6870:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6870:12:84"
                        },
                        "nativeSrc": "6870:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6870:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6843:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "6843:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6852:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6852:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6839:3:84"
                        },
                        "nativeSrc": "6839:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6839:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6864:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6864:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6835:3:84"
                    },
                    "nativeSrc": "6835:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6835:32:84"
                  },
                  "nativeSrc": "6832:52:84",
                  "nodeType": "YulIf",
                  "src": "6832:52:84"
                },
                {
                  "nativeSrc": "6893:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6893:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6920:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6920:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6907:12:84"
                    },
                    "nativeSrc": "6907:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6907:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6897:6:84",
                      "nodeType": "YulTypedName",
                      "src": "6897:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6973:16:84",
                    "nodeType": "YulBlock",
                    "src": "6973:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6982:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6982:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6985:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6975:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6975:6:84"
                          },
                          "nativeSrc": "6975:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6975:12:84"
                        },
                        "nativeSrc": "6975:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6975:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6945:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6945:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6953:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6953:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6942:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6942:2:84"
                    },
                    "nativeSrc": "6942:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6942:30:84"
                  },
                  "nativeSrc": "6939:50:84",
                  "nodeType": "YulIf",
                  "src": "6939:50:84"
                },
                {
                  "nativeSrc": "6998:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6998:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7012:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7012:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7023:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7023:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7008:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7008:3:84"
                    },
                    "nativeSrc": "7008:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7008:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "7002:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7002:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7078:16:84",
                    "nodeType": "YulBlock",
                    "src": "7078:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7087:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7087:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7090:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7080:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7080:6:84"
                          },
                          "nativeSrc": "7080:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7080:12:84"
                        },
                        "nativeSrc": "7080:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7080:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "7057:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7057:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7061:4:84",
                                "nodeType": "YulLiteral",
                                "src": "7061:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7053:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7053:3:84"
                            },
                            "nativeSrc": "7053:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7053:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7068:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7068:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7049:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7049:3:84"
                        },
                        "nativeSrc": "7049:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7049:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7042:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7042:6:84"
                    },
                    "nativeSrc": "7042:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7042:35:84"
                  },
                  "nativeSrc": "7039:55:84",
                  "nodeType": "YulIf",
                  "src": "7039:55:84"
                },
                {
                  "nativeSrc": "7103:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7103:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7126:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7126:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7113:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7113:12:84"
                    },
                    "nativeSrc": "7113:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7113:16:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "7107:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7107:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7138:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7138:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "7188:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7188:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "7148:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "7148:39:84"
                    },
                    "nativeSrc": "7148:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7148:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "7142:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7142:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7200:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7200:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7214:5:84"
                    },
                    "nativeSrc": "7214:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7214:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7252:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7252:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "7260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "7232:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "7232:19:84"
                    },
                    "nativeSrc": "7232:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7232:31:84"
                  },
                  "nativeSrc": "7232:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7232:31:84"
                },
                {
                  "nativeSrc": "7272:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7272:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7283:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7283:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "7276:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7276:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7305:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "7313:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7313:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7298:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7298:6:84"
                    },
                    "nativeSrc": "7298:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7298:18:84"
                  },
                  "nativeSrc": "7298:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7298:18:84"
                },
                {
                  "nativeSrc": "7325:22:84",
                  "nodeType": "YulAssignment",
                  "src": "7325:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7336:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7344:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7344:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7332:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7332:3:84"
                    },
                    "nativeSrc": "7332:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7332:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "7325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7325:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7356:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7356:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "7378:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7378:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7386:1:84",
                                "nodeType": "YulLiteral",
                                "src": "7386:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "7389:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7389:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "7382:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7382:3:84"
                            },
                            "nativeSrc": "7382:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7382:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7374:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7374:3:84"
                        },
                        "nativeSrc": "7374:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7374:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7395:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7395:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7370:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7370:3:84"
                    },
                    "nativeSrc": "7370:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7370:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "7360:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7360:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7430:16:84",
                    "nodeType": "YulBlock",
                    "src": "7430:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7439:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7439:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7442:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7442:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7432:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7432:6:84"
                          },
                          "nativeSrc": "7432:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7432:12:84"
                        },
                        "nativeSrc": "7432:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7432:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7413:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7413:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "7421:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "7421:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7410:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7410:2:84"
                    },
                    "nativeSrc": "7410:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7410:19:84"
                  },
                  "nativeSrc": "7407:39:84",
                  "nodeType": "YulIf",
                  "src": "7407:39:84"
                },
                {
                  "nativeSrc": "7455:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7455:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7470:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7470:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7466:3:84"
                    },
                    "nativeSrc": "7466:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7466:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "7459:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7459:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7542:161:84",
                    "nodeType": "YulBlock",
                    "src": "7542:161:84",
                    "statements": [
                      {
                        "nativeSrc": "7556:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "7556:30:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7582:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7582:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "7569:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "7569:12:84"
                          },
                          "nativeSrc": "7569:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7569:17:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "7560:5:84",
                            "nodeType": "YulTypedName",
                            "src": "7560:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "7624:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7624:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "7599:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "7599:24:84"
                          },
                          "nativeSrc": "7599:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7599:31:84"
                        },
                        "nativeSrc": "7599:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7599:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7650:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7650:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "7655:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7655:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7643:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7643:6:84"
                          },
                          "nativeSrc": "7643:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7643:18:84"
                        },
                        "nativeSrc": "7643:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7643:18:84"
                      },
                      {
                        "nativeSrc": "7674:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7674:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7685:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7685:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7690:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7690:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7681:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7681:3:84"
                          },
                          "nativeSrc": "7681:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7681:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "7674:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7674:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "7497:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7497:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7502:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "7494:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7494:2:84"
                    },
                    "nativeSrc": "7494:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7494:15:84"
                  },
                  "nativeSrc": "7486:217:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "7510:23:84",
                    "nodeType": "YulBlock",
                    "src": "7510:23:84",
                    "statements": [
                      {
                        "nativeSrc": "7512:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7512:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7523:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7523:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7528:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7528:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7519:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7519:3:84"
                          },
                          "nativeSrc": "7519:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7519:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "7512:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7512:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "7490:3:84",
                    "nodeType": "YulBlock",
                    "src": "7490:3:84",
                    "statements": []
                  },
                  "src": "7486:217:84"
                },
                {
                  "nativeSrc": "7712:16:84",
                  "nodeType": "YulAssignment",
                  "src": "7712:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7722:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7722:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7712:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr",
            "nativeSrc": "6706:1028:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6767:9:84",
                "nodeType": "YulTypedName",
                "src": "6767:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6778:7:84",
                "nodeType": "YulTypedName",
                "src": "6778:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6790:6:84",
                "nodeType": "YulTypedName",
                "src": "6790:6:84",
                "type": ""
              }
            ],
            "src": "6706:1028:84"
          },
          {
            "body": {
              "nativeSrc": "7810:85:84",
              "nodeType": "YulBlock",
              "src": "7810:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7849:16:84",
                    "nodeType": "YulBlock",
                    "src": "7849:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7858:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7858:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7861:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7851:6:84"
                          },
                          "nativeSrc": "7851:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7851:12:84"
                        },
                        "nativeSrc": "7851:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7851:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "7831:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7831:3:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "7836:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7836:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7827:3:84"
                        },
                        "nativeSrc": "7827:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7827:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7845:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7845:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7823:3:84"
                    },
                    "nativeSrc": "7823:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7823:25:84"
                  },
                  "nativeSrc": "7820:45:84",
                  "nodeType": "YulIf",
                  "src": "7820:45:84"
                },
                {
                  "nativeSrc": "7874:15:84",
                  "nodeType": "YulAssignment",
                  "src": "7874:15:84",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "7883:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7883:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7874:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7874:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_calldata",
            "nativeSrc": "7739:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "7784:6:84",
                "nodeType": "YulTypedName",
                "src": "7784:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7792:3:84",
                "nodeType": "YulTypedName",
                "src": "7792:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "7800:5:84",
                "nodeType": "YulTypedName",
                "src": "7800:5:84",
                "type": ""
              }
            ],
            "src": "7739:156:84"
          },
          {
            "body": {
              "nativeSrc": "8016:193:84",
              "nodeType": "YulBlock",
              "src": "8016:193:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8062:16:84",
                    "nodeType": "YulBlock",
                    "src": "8062:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8071:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8071:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8074:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8064:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8064:6:84"
                          },
                          "nativeSrc": "8064:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8064:12:84"
                        },
                        "nativeSrc": "8064:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8064:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8037:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8037:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8046:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8046:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8033:3:84"
                        },
                        "nativeSrc": "8033:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8033:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8058:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8058:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8029:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8029:3:84"
                    },
                    "nativeSrc": "8029:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8029:32:84"
                  },
                  "nativeSrc": "8026:52:84",
                  "nodeType": "YulIf",
                  "src": "8026:52:84"
                },
                {
                  "nativeSrc": "8087:33:84",
                  "nodeType": "YulAssignment",
                  "src": "8087:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8110:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8110:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8097:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8097:12:84"
                    },
                    "nativeSrc": "8097:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8097:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8087:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "8129:74:84",
                  "nodeType": "YulAssignment",
                  "src": "8129:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8179:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8190:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8190:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8175:3:84"
                        },
                        "nativeSrc": "8175:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8175:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8195:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8195:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "8139:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "8139:35:84"
                    },
                    "nativeSrc": "8139:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8139:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8129:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8129:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "7900:309:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7974:9:84",
                "nodeType": "YulTypedName",
                "src": "7974:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7985:7:84",
                "nodeType": "YulTypedName",
                "src": "7985:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7997:6:84",
                "nodeType": "YulTypedName",
                "src": "7997:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8005:6:84",
                "nodeType": "YulTypedName",
                "src": "8005:6:84",
                "type": ""
              }
            ],
            "src": "7900:309:84"
          },
          {
            "body": {
              "nativeSrc": "8271:129:84",
              "nodeType": "YulBlock",
              "src": "8271:129:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8315:22:84",
                    "nodeType": "YulBlock",
                    "src": "8315:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8317:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "8317:16:84"
                          },
                          "nativeSrc": "8317:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8317:18:84"
                        },
                        "nativeSrc": "8317:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8317:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "8287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8287:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8295:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8295:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8284:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8284:2:84"
                    },
                    "nativeSrc": "8284:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8284:30:84"
                  },
                  "nativeSrc": "8281:56:84",
                  "nodeType": "YulIf",
                  "src": "8281:56:84"
                },
                {
                  "nativeSrc": "8346:48:84",
                  "nodeType": "YulAssignment",
                  "src": "8346:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "8366:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8366:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8362:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8362:3:84"
                            },
                            "nativeSrc": "8362:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8362:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8383:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8383:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "8379:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8379:3:84"
                            },
                            "nativeSrc": "8379:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8379:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8358:3:84"
                        },
                        "nativeSrc": "8358:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8358:29:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8389:4:84",
                        "nodeType": "YulLiteral",
                        "src": "8389:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8354:3:84"
                    },
                    "nativeSrc": "8354:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8354:40:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "8346:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "8346:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "8214:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "8251:6:84",
                "nodeType": "YulTypedName",
                "src": "8251:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "8262:4:84",
                "nodeType": "YulTypedName",
                "src": "8262:4:84",
                "type": ""
              }
            ],
            "src": "8214:186:84"
          },
          {
            "body": {
              "nativeSrc": "8484:648:84",
              "nodeType": "YulBlock",
              "src": "8484:648:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8530:16:84",
                    "nodeType": "YulBlock",
                    "src": "8530:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8539:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8542:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8532:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8532:6:84"
                          },
                          "nativeSrc": "8532:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8532:12:84"
                        },
                        "nativeSrc": "8532:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8532:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8505:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8505:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8514:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8514:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8501:3:84"
                        },
                        "nativeSrc": "8501:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8501:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8526:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8526:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8497:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8497:3:84"
                    },
                    "nativeSrc": "8497:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8497:32:84"
                  },
                  "nativeSrc": "8494:52:84",
                  "nodeType": "YulIf",
                  "src": "8494:52:84"
                },
                {
                  "nativeSrc": "8555:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8555:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8582:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8582:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8569:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8569:12:84"
                    },
                    "nativeSrc": "8569:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8569:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8559:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8559:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8635:16:84",
                    "nodeType": "YulBlock",
                    "src": "8635:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8644:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8644:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8647:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8647:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8637:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8637:6:84"
                          },
                          "nativeSrc": "8637:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8637:12:84"
                        },
                        "nativeSrc": "8637:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8637:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8607:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8607:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8615:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8615:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8604:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8604:2:84"
                    },
                    "nativeSrc": "8604:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8604:30:84"
                  },
                  "nativeSrc": "8601:50:84",
                  "nodeType": "YulIf",
                  "src": "8601:50:84"
                },
                {
                  "nativeSrc": "8660:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8660:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8674:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8674:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "8685:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8685:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8670:3:84"
                    },
                    "nativeSrc": "8670:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8670:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8664:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8664:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8740:16:84",
                    "nodeType": "YulBlock",
                    "src": "8740:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8749:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8749:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8752:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8752:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8742:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8742:6:84"
                          },
                          "nativeSrc": "8742:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8742:12:84"
                        },
                        "nativeSrc": "8742:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8742:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8719:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8719:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8723:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8723:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8715:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8715:3:84"
                            },
                            "nativeSrc": "8715:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8715:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8730:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8730:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8711:3:84"
                        },
                        "nativeSrc": "8711:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8711:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8704:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8704:6:84"
                    },
                    "nativeSrc": "8704:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8704:35:84"
                  },
                  "nativeSrc": "8701:55:84",
                  "nodeType": "YulIf",
                  "src": "8701:55:84"
                },
                {
                  "nativeSrc": "8765:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8765:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "8788:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8788:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8775:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8775:12:84"
                    },
                    "nativeSrc": "8775:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8775:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "8769:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8769:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8800:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8800:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "8838:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8838:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "8810:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "8810:27:84"
                    },
                    "nativeSrc": "8810:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8810:31:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "8804:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8804:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8850:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8850:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8870:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8870:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8864:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8864:5:84"
                    },
                    "nativeSrc": "8864:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8864:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "8854:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8854:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8902:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8902:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "8910:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8910:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "8882:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "8882:19:84"
                    },
                    "nativeSrc": "8882:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8882:31:84"
                  },
                  "nativeSrc": "8882:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8882:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8929:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "8937:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8937:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8922:6:84"
                    },
                    "nativeSrc": "8922:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8922:18:84"
                  },
                  "nativeSrc": "8922:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8922:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "8986:16:84",
                    "nodeType": "YulBlock",
                    "src": "8986:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8995:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8995:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8998:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8998:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8988:6:84"
                          },
                          "nativeSrc": "8988:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8988:12:84"
                        },
                        "nativeSrc": "8988:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8988:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8963:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8963:2:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "8967:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8967:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8959:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8959:3:84"
                            },
                            "nativeSrc": "8959:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8959:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8972:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8972:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8955:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8955:3:84"
                        },
                        "nativeSrc": "8955:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8955:20:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8977:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8977:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8952:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8952:2:84"
                    },
                    "nativeSrc": "8952:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8952:33:84"
                  },
                  "nativeSrc": "8949:53:84",
                  "nodeType": "YulIf",
                  "src": "8949:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9028:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9028:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9036:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9036:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9024:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9024:3:84"
                        },
                        "nativeSrc": "9024:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9024:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9045:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9045:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9049:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9049:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9041:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9041:3:84"
                        },
                        "nativeSrc": "9041:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9041:11:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "9054:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9054:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "9011:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9011:12:84"
                    },
                    "nativeSrc": "9011:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9011:46:84"
                  },
                  "nativeSrc": "9011:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9011:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "9081:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "9081:6:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "9089:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "9089:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9077:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9077:3:84"
                            },
                            "nativeSrc": "9077:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9077:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9094:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9094:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9073:3:84"
                        },
                        "nativeSrc": "9073:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9073:24:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9099:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9099:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9066:6:84"
                    },
                    "nativeSrc": "9066:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9066:35:84"
                  },
                  "nativeSrc": "9066:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9066:35:84"
                },
                {
                  "nativeSrc": "9110:16:84",
                  "nodeType": "YulAssignment",
                  "src": "9110:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "9120:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9120:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9110:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "8405:727:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8450:9:84",
                "nodeType": "YulTypedName",
                "src": "8450:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8461:7:84",
                "nodeType": "YulTypedName",
                "src": "8461:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8473:6:84",
                "nodeType": "YulTypedName",
                "src": "8473:6:84",
                "type": ""
              }
            ],
            "src": "8405:727:84"
          },
          {
            "body": {
              "nativeSrc": "9242:352:84",
              "nodeType": "YulBlock",
              "src": "9242:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9288:16:84",
                    "nodeType": "YulBlock",
                    "src": "9288:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9297:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9297:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9300:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9300:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9290:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9290:6:84"
                          },
                          "nativeSrc": "9290:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9290:12:84"
                        },
                        "nativeSrc": "9290:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9290:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9263:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9263:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9272:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9272:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9259:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9259:3:84"
                        },
                        "nativeSrc": "9259:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9259:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9284:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9284:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9255:3:84"
                    },
                    "nativeSrc": "9255:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9255:32:84"
                  },
                  "nativeSrc": "9252:52:84",
                  "nodeType": "YulIf",
                  "src": "9252:52:84"
                },
                {
                  "nativeSrc": "9313:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9313:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9340:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9340:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9327:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9327:12:84"
                    },
                    "nativeSrc": "9327:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9327:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9317:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9317:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9393:16:84",
                    "nodeType": "YulBlock",
                    "src": "9393:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9402:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9405:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9405:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9395:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9395:6:84"
                          },
                          "nativeSrc": "9395:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9395:12:84"
                        },
                        "nativeSrc": "9395:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9395:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9365:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9365:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9373:18:84",
                        "nodeType": "YulLiteral",
                        "src": "9373:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9362:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "9362:2:84"
                    },
                    "nativeSrc": "9362:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9362:30:84"
                  },
                  "nativeSrc": "9359:50:84",
                  "nodeType": "YulIf",
                  "src": "9359:50:84"
                },
                {
                  "nativeSrc": "9418:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9418:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9506:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9506:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "9517:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9517:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9502:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9502:3:84"
                        },
                        "nativeSrc": "9502:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9502:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9526:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "9526:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "9444:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "9444:57:84"
                    },
                    "nativeSrc": "9444:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9444:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "9422:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9422:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "9432:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9432:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9543:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9543:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "9553:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9553:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9543:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9570:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9570:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "9580:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9580:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
            "nativeSrc": "9137:457:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9200:9:84",
                "nodeType": "YulTypedName",
                "src": "9200:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9211:7:84",
                "nodeType": "YulTypedName",
                "src": "9211:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9223:6:84",
                "nodeType": "YulTypedName",
                "src": "9223:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "9231:6:84",
                "nodeType": "YulTypedName",
                "src": "9231:6:84",
                "type": ""
              }
            ],
            "src": "9137:457:84"
          },
          {
            "body": {
              "nativeSrc": "9768:631:84",
              "nodeType": "YulBlock",
              "src": "9768:631:84",
              "statements": [
                {
                  "nativeSrc": "9778:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9778:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9788:2:84",
                    "nodeType": "YulLiteral",
                    "src": "9788:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9782:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9782:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9799:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9799:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9817:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9817:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9828:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9828:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9813:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9813:3:84"
                    },
                    "nativeSrc": "9813:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9813:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9803:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9803:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9847:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9847:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9858:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9858:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9840:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9840:6:84"
                    },
                    "nativeSrc": "9840:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9840:21:84"
                  },
                  "nativeSrc": "9840:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9840:21:84"
                },
                {
                  "nativeSrc": "9870:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9870:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9881:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9881:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "9874:3:84",
                      "nodeType": "YulTypedName",
                      "src": "9874:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9896:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9896:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9916:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9916:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9910:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9910:5:84"
                    },
                    "nativeSrc": "9910:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9910:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "9900:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9900:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "9939:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9939:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9947:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9947:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9932:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9932:6:84"
                    },
                    "nativeSrc": "9932:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9932:22:84"
                  },
                  "nativeSrc": "9932:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9932:22:84"
                },
                {
                  "nativeSrc": "9963:25:84",
                  "nodeType": "YulAssignment",
                  "src": "9963:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9974:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9974:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9985:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9985:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9970:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9970:3:84"
                    },
                    "nativeSrc": "9970:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9970:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "9963:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9963:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9997:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9997:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10019:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "10034:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10034:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "10037:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10037:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "10030:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10030:3:84"
                            },
                            "nativeSrc": "10030:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10030:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10015:3:84"
                        },
                        "nativeSrc": "10015:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10015:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10047:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10047:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10011:3:84"
                    },
                    "nativeSrc": "10011:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10011:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "10001:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10001:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10059:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10059:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10077:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10077:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10085:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10085:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10073:3:84"
                    },
                    "nativeSrc": "10073:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10073:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "10063:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10063:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10097:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10097:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "10106:1:84",
                    "nodeType": "YulLiteral",
                    "src": "10106:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "10101:1:84",
                      "nodeType": "YulTypedName",
                      "src": "10101:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10165:205:84",
                    "nodeType": "YulBlock",
                    "src": "10165:205:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10186:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10186:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "10199:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10199:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "10207:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10207:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "10195:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10195:3:84"
                                  },
                                  "nativeSrc": "10195:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10195:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10223:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "10223:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "10219:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10219:3:84"
                                  },
                                  "nativeSrc": "10219:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10219:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "10191:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "10191:3:84"
                              },
                              "nativeSrc": "10191:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10191:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10179:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10179:6:84"
                          },
                          "nativeSrc": "10179:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10179:49:84"
                        },
                        "nativeSrc": "10179:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10179:49:84"
                      },
                      {
                        "nativeSrc": "10241:49:84",
                        "nodeType": "YulAssignment",
                        "src": "10241:49:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "10274:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10274:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "10268:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "10268:5:84"
                              },
                              "nativeSrc": "10268:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10268:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "10283:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10283:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_bytes",
                            "nativeSrc": "10251:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10251:16:84"
                          },
                          "nativeSrc": "10251:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10251:39:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "10241:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10241:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10303:25:84",
                        "nodeType": "YulAssignment",
                        "src": "10303:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "10317:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10317:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10325:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10325:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10313:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10313:3:84"
                          },
                          "nativeSrc": "10313:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10313:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "10303:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10303:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10341:19:84",
                        "nodeType": "YulAssignment",
                        "src": "10341:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10352:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10352:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10357:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10357:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10348:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10348:3:84"
                          },
                          "nativeSrc": "10348:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10348:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "10341:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10341:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "10127:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10127:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10130:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10130:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "10124:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10124:2:84"
                    },
                    "nativeSrc": "10124:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10124:13:84"
                  },
                  "nativeSrc": "10116:254:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "10138:18:84",
                    "nodeType": "YulBlock",
                    "src": "10138:18:84",
                    "statements": [
                      {
                        "nativeSrc": "10140:14:84",
                        "nodeType": "YulAssignment",
                        "src": "10140:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "10149:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "10149:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10152:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10152:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10145:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10145:3:84"
                          },
                          "nativeSrc": "10145:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10145:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "10140:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "10140:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "10120:3:84",
                    "nodeType": "YulBlock",
                    "src": "10120:3:84",
                    "statements": []
                  },
                  "src": "10116:254:84"
                },
                {
                  "nativeSrc": "10379:14:84",
                  "nodeType": "YulAssignment",
                  "src": "10379:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "10387:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "10387:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10379:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10379:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "9599:800:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9737:9:84",
                "nodeType": "YulTypedName",
                "src": "9737:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9748:6:84",
                "nodeType": "YulTypedName",
                "src": "9748:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9759:4:84",
                "nodeType": "YulTypedName",
                "src": "9759:4:84",
                "type": ""
              }
            ],
            "src": "9599:800:84"
          },
          {
            "body": {
              "nativeSrc": "10505:102:84",
              "nodeType": "YulBlock",
              "src": "10505:102:84",
              "statements": [
                {
                  "nativeSrc": "10515:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10515:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10527:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10527:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10538:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10538:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10523:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10523:3:84"
                    },
                    "nativeSrc": "10523:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10523:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10515:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10515:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10557:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10557:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10572:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10588:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10588:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10593:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10593:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10584:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10584:3:84"
                                },
                                "nativeSrc": "10584:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "10584:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10597:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10597:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10580:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10580:3:84"
                            },
                            "nativeSrc": "10580:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10580:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10568:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10568:3:84"
                        },
                        "nativeSrc": "10568:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10568:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10550:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10550:6:84"
                    },
                    "nativeSrc": "10550:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10550:51:84"
                  },
                  "nativeSrc": "10550:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10550:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "10404:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10474:9:84",
                "nodeType": "YulTypedName",
                "src": "10474:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10485:6:84",
                "nodeType": "YulTypedName",
                "src": "10485:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10496:4:84",
                "nodeType": "YulTypedName",
                "src": "10496:4:84",
                "type": ""
              }
            ],
            "src": "10404:203:84"
          },
          {
            "body": {
              "nativeSrc": "10713:76:84",
              "nodeType": "YulBlock",
              "src": "10713:76:84",
              "statements": [
                {
                  "nativeSrc": "10723:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10723:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10735:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10735:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10746:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10746:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10731:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10731:3:84"
                    },
                    "nativeSrc": "10731:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10731:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10723:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10723:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10765:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10765:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "10776:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10776:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10758:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10758:6:84"
                    },
                    "nativeSrc": "10758:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10758:25:84"
                  },
                  "nativeSrc": "10758:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10758:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10612:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10682:9:84",
                "nodeType": "YulTypedName",
                "src": "10682:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10693:6:84",
                "nodeType": "YulTypedName",
                "src": "10693:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10704:4:84",
                "nodeType": "YulTypedName",
                "src": "10704:4:84",
                "type": ""
              }
            ],
            "src": "10612:177:84"
          },
          {
            "body": {
              "nativeSrc": "10915:98:84",
              "nodeType": "YulBlock",
              "src": "10915:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10932:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10932:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10943:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10943:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10925:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10925:6:84"
                    },
                    "nativeSrc": "10925:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10925:21:84"
                  },
                  "nativeSrc": "10925:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10925:21:84"
                },
                {
                  "nativeSrc": "10955:52:84",
                  "nodeType": "YulAssignment",
                  "src": "10955:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10980:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10980:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10992:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10992:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11003:2:84",
                            "nodeType": "YulLiteral",
                            "src": "11003:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10988:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10988:3:84"
                        },
                        "nativeSrc": "10988:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10988:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "10963:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "10963:16:84"
                    },
                    "nativeSrc": "10963:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10963:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10955:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10955:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10794:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10884:9:84",
                "nodeType": "YulTypedName",
                "src": "10884:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10895:6:84",
                "nodeType": "YulTypedName",
                "src": "10895:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10906:4:84",
                "nodeType": "YulTypedName",
                "src": "10906:4:84",
                "type": ""
              }
            ],
            "src": "10794:219:84"
          },
          {
            "body": {
              "nativeSrc": "11071:89:84",
              "nodeType": "YulBlock",
              "src": "11071:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11105:22:84",
                    "nodeType": "YulBlock",
                    "src": "11105:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11107:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "11107:16:84"
                          },
                          "nativeSrc": "11107:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11107:18:84"
                        },
                        "nativeSrc": "11107:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11107:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11094:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11094:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11101:1:84",
                            "nodeType": "YulLiteral",
                            "src": "11101:1:84",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11091:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "11091:2:84"
                        },
                        "nativeSrc": "11091:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11091:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11084:6:84"
                    },
                    "nativeSrc": "11084:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11084:20:84"
                  },
                  "nativeSrc": "11081:46:84",
                  "nodeType": "YulIf",
                  "src": "11081:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11143:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11143:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11148:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "11148:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11136:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11136:6:84"
                    },
                    "nativeSrc": "11136:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11136:18:84"
                  },
                  "nativeSrc": "11136:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11136:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_QueryStatus",
            "nativeSrc": "11018:142:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11055:5:84",
                "nodeType": "YulTypedName",
                "src": "11055:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11062:3:84",
                "nodeType": "YulTypedName",
                "src": "11062:3:84",
                "type": ""
              }
            ],
            "src": "11018:142:84"
          },
          {
            "body": {
              "nativeSrc": "11331:502:84",
              "nodeType": "YulBlock",
              "src": "11331:502:84",
              "statements": [
                {
                  "nativeSrc": "11341:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11341:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11351:2:84",
                    "nodeType": "YulLiteral",
                    "src": "11351:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11345:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11345:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11362:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11362:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11380:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11380:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11391:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11391:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11376:3:84"
                    },
                    "nativeSrc": "11376:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11376:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "11366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11410:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11410:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11421:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11421:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11403:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11403:6:84"
                    },
                    "nativeSrc": "11403:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11403:21:84"
                  },
                  "nativeSrc": "11403:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11403:21:84"
                },
                {
                  "nativeSrc": "11433:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11433:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "11444:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "11444:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "11437:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11437:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11459:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11459:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11479:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11479:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11473:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11473:5:84"
                    },
                    "nativeSrc": "11473:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11473:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11463:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11463:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "11502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11502:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11510:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11510:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11495:6:84"
                    },
                    "nativeSrc": "11495:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11495:22:84"
                  },
                  "nativeSrc": "11495:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11495:22:84"
                },
                {
                  "nativeSrc": "11526:25:84",
                  "nodeType": "YulAssignment",
                  "src": "11526:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11537:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11537:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11548:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11548:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11533:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11533:3:84"
                    },
                    "nativeSrc": "11533:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11533:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11526:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "11560:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11560:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11578:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11578:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11586:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11586:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11574:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11574:3:84"
                    },
                    "nativeSrc": "11574:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11574:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11564:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11564:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11598:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11598:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11607:1:84",
                    "nodeType": "YulLiteral",
                    "src": "11607:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11602:1:84",
                      "nodeType": "YulTypedName",
                      "src": "11602:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11666:141:84",
                    "nodeType": "YulBlock",
                    "src": "11666:141:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "11714:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "11714:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "11708:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "11708:5:84"
                              },
                              "nativeSrc": "11708:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "11708:13:84"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "11723:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11723:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_QueryStatus",
                            "nativeSrc": "11680:27:84",
                            "nodeType": "YulIdentifier",
                            "src": "11680:27:84"
                          },
                          "nativeSrc": "11680:47:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11680:47:84"
                        },
                        "nativeSrc": "11680:47:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11680:47:84"
                      },
                      {
                        "nativeSrc": "11740:19:84",
                        "nodeType": "YulAssignment",
                        "src": "11740:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "11751:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11751:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11756:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11756:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11747:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11747:3:84"
                          },
                          "nativeSrc": "11747:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11747:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "11740:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11740:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11772:25:84",
                        "nodeType": "YulAssignment",
                        "src": "11772:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "11786:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "11786:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11794:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11794:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11782:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11782:3:84"
                          },
                          "nativeSrc": "11782:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11782:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "11772:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11772:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11628:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "11628:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11631:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11631:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11625:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11625:2:84"
                    },
                    "nativeSrc": "11625:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11625:13:84"
                  },
                  "nativeSrc": "11617:190:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11639:18:84",
                    "nodeType": "YulBlock",
                    "src": "11639:18:84",
                    "statements": [
                      {
                        "nativeSrc": "11641:14:84",
                        "nodeType": "YulAssignment",
                        "src": "11641:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11650:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "11650:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11653:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11653:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11646:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11646:3:84"
                          },
                          "nativeSrc": "11646:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11646:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11641:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "11641:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11621:3:84",
                    "nodeType": "YulBlock",
                    "src": "11621:3:84",
                    "statements": []
                  },
                  "src": "11617:190:84"
                },
                {
                  "nativeSrc": "11816:11:84",
                  "nodeType": "YulAssignment",
                  "src": "11816:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11824:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "11824:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11816:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11816:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "11165:668:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11300:9:84",
                "nodeType": "YulTypedName",
                "src": "11300:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11311:6:84",
                "nodeType": "YulTypedName",
                "src": "11311:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11322:4:84",
                "nodeType": "YulTypedName",
                "src": "11322:4:84",
                "type": ""
              }
            ],
            "src": "11165:668:84"
          },
          {
            "body": {
              "nativeSrc": "11944:177:84",
              "nodeType": "YulBlock",
              "src": "11944:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11990:16:84",
                    "nodeType": "YulBlock",
                    "src": "11990:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11999:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11999:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12002:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12002:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11992:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11992:6:84"
                          },
                          "nativeSrc": "11992:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11992:12:84"
                        },
                        "nativeSrc": "11992:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11992:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "11965:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "11965:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "11974:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11974:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11961:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11961:3:84"
                        },
                        "nativeSrc": "11961:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11961:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11986:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11986:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "11957:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11957:3:84"
                    },
                    "nativeSrc": "11957:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11957:32:84"
                  },
                  "nativeSrc": "11954:52:84",
                  "nodeType": "YulIf",
                  "src": "11954:52:84"
                },
                {
                  "nativeSrc": "12015:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12015:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12041:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12041:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12028:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12028:12:84"
                    },
                    "nativeSrc": "12028:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12028:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "12019:5:84",
                      "nodeType": "YulTypedName",
                      "src": "12019:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12085:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "12085:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "12060:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "12060:24:84"
                    },
                    "nativeSrc": "12060:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12060:31:84"
                  },
                  "nativeSrc": "12060:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12060:31:84"
                },
                {
                  "nativeSrc": "12100:15:84",
                  "nodeType": "YulAssignment",
                  "src": "12100:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "12110:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "12110:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12100:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12100:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetMockedRequestFactory_$23833",
            "nativeSrc": "11838:283:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11910:9:84",
                "nodeType": "YulTypedName",
                "src": "11910:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "11921:7:84",
                "nodeType": "YulTypedName",
                "src": "11921:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "11933:6:84",
                "nodeType": "YulTypedName",
                "src": "11933:6:84",
                "type": ""
              }
            ],
            "src": "11838:283:84"
          },
          {
            "body": {
              "nativeSrc": "12198:275:84",
              "nodeType": "YulBlock",
              "src": "12198:275:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12247:16:84",
                    "nodeType": "YulBlock",
                    "src": "12247:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12256:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12256:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12259:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12259:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12249:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12249:6:84"
                          },
                          "nativeSrc": "12249:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12249:12:84"
                        },
                        "nativeSrc": "12249:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12249:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "12226:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12226:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "12234:4:84",
                                "nodeType": "YulLiteral",
                                "src": "12234:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12222:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12222:3:84"
                            },
                            "nativeSrc": "12222:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12222:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "12241:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12241:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "12218:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12218:3:84"
                        },
                        "nativeSrc": "12218:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12218:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12211:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12211:6:84"
                    },
                    "nativeSrc": "12211:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12211:35:84"
                  },
                  "nativeSrc": "12208:55:84",
                  "nodeType": "YulIf",
                  "src": "12208:55:84"
                },
                {
                  "nativeSrc": "12272:30:84",
                  "nodeType": "YulAssignment",
                  "src": "12272:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12295:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12295:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12282:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12282:12:84"
                    },
                    "nativeSrc": "12282:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12282:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "12272:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12272:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12345:16:84",
                    "nodeType": "YulBlock",
                    "src": "12345:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12354:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12354:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12357:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12357:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12347:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12347:6:84"
                          },
                          "nativeSrc": "12347:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12347:12:84"
                        },
                        "nativeSrc": "12347:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12347:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "12317:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12317:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12325:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12325:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12314:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12314:2:84"
                    },
                    "nativeSrc": "12314:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12314:30:84"
                  },
                  "nativeSrc": "12311:50:84",
                  "nodeType": "YulIf",
                  "src": "12311:50:84"
                },
                {
                  "nativeSrc": "12370:29:84",
                  "nodeType": "YulAssignment",
                  "src": "12370:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12386:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12386:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12394:4:84",
                        "nodeType": "YulLiteral",
                        "src": "12394:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12382:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12382:3:84"
                    },
                    "nativeSrc": "12382:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12382:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "12370:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "12370:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12451:16:84",
                    "nodeType": "YulBlock",
                    "src": "12451:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12460:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12460:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12463:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12463:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12453:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12453:6:84"
                          },
                          "nativeSrc": "12453:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12453:12:84"
                        },
                        "nativeSrc": "12453:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12453:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "12422:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12422:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12430:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12430:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12418:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12418:3:84"
                            },
                            "nativeSrc": "12418:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12418:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12439:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12439:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12414:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12414:3:84"
                        },
                        "nativeSrc": "12414:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12414:30:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "12446:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12446:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12411:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12411:2:84"
                    },
                    "nativeSrc": "12411:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12411:39:84"
                  },
                  "nativeSrc": "12408:59:84",
                  "nodeType": "YulIf",
                  "src": "12408:59:84"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "12126:347:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "12161:6:84",
                "nodeType": "YulTypedName",
                "src": "12161:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "12169:3:84",
                "nodeType": "YulTypedName",
                "src": "12169:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "12177:8:84",
                "nodeType": "YulTypedName",
                "src": "12177:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "12187:6:84",
                "nodeType": "YulTypedName",
                "src": "12187:6:84",
                "type": ""
              }
            ],
            "src": "12126:347:84"
          },
          {
            "body": {
              "nativeSrc": "12601:422:84",
              "nodeType": "YulBlock",
              "src": "12601:422:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12647:16:84",
                    "nodeType": "YulBlock",
                    "src": "12647:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12656:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12656:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12659:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12659:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12649:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12649:6:84"
                          },
                          "nativeSrc": "12649:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12649:12:84"
                        },
                        "nativeSrc": "12649:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12649:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12622:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "12622:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12631:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12631:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12618:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12618:3:84"
                        },
                        "nativeSrc": "12618:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12618:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12643:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12643:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12614:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12614:3:84"
                    },
                    "nativeSrc": "12614:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12614:32:84"
                  },
                  "nativeSrc": "12611:52:84",
                  "nodeType": "YulIf",
                  "src": "12611:52:84"
                },
                {
                  "nativeSrc": "12672:33:84",
                  "nodeType": "YulAssignment",
                  "src": "12672:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12695:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12695:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12682:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12682:12:84"
                    },
                    "nativeSrc": "12682:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12682:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12672:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12672:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12714:42:84",
                  "nodeType": "YulAssignment",
                  "src": "12714:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12741:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12741:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12752:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12752:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12737:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12737:3:84"
                        },
                        "nativeSrc": "12737:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12737:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12724:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12724:12:84"
                    },
                    "nativeSrc": "12724:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12724:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12714:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12714:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12765:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12765:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12796:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12796:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12807:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12807:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12792:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12792:3:84"
                        },
                        "nativeSrc": "12792:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12792:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12779:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12779:12:84"
                    },
                    "nativeSrc": "12779:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12779:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12769:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12769:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12854:16:84",
                    "nodeType": "YulBlock",
                    "src": "12854:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12863:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12863:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12866:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12866:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12856:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12856:6:84"
                          },
                          "nativeSrc": "12856:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12856:12:84"
                        },
                        "nativeSrc": "12856:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12856:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12826:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12826:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12834:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12834:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12823:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12823:2:84"
                    },
                    "nativeSrc": "12823:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12823:30:84"
                  },
                  "nativeSrc": "12820:50:84",
                  "nodeType": "YulIf",
                  "src": "12820:50:84"
                },
                {
                  "nativeSrc": "12879:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12879:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12935:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12935:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12946:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12946:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12931:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12931:3:84"
                        },
                        "nativeSrc": "12931:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12931:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12955:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12955:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "12905:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "12905:25:84"
                    },
                    "nativeSrc": "12905:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12905:58:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "12883:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12883:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "12893:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12893:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12972:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12972:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "12982:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12982:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12972:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12999:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12999:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "13009:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "13009:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12999:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12999:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "12478:545:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12543:9:84",
                "nodeType": "YulTypedName",
                "src": "12543:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12554:7:84",
                "nodeType": "YulTypedName",
                "src": "12554:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12566:6:84",
                "nodeType": "YulTypedName",
                "src": "12566:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12574:6:84",
                "nodeType": "YulTypedName",
                "src": "12574:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12582:6:84",
                "nodeType": "YulTypedName",
                "src": "12582:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12590:6:84",
                "nodeType": "YulTypedName",
                "src": "12590:6:84",
                "type": ""
              }
            ],
            "src": "12478:545:84"
          },
          {
            "body": {
              "nativeSrc": "13144:97:84",
              "nodeType": "YulBlock",
              "src": "13144:97:84",
              "statements": [
                {
                  "nativeSrc": "13154:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13154:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13166:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13166:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13177:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13177:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13162:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13162:3:84"
                    },
                    "nativeSrc": "13162:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13162:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13154:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13154:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "13217:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13217:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "13225:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13225:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "13189:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "13189:27:84"
                    },
                    "nativeSrc": "13189:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13189:46:84"
                  },
                  "nativeSrc": "13189:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13189:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed",
            "nativeSrc": "13028:213:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13113:9:84",
                "nodeType": "YulTypedName",
                "src": "13113:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13124:6:84",
                "nodeType": "YulTypedName",
                "src": "13124:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13135:4:84",
                "nodeType": "YulTypedName",
                "src": "13135:4:84",
                "type": ""
              }
            ],
            "src": "13028:213:84"
          },
          {
            "body": {
              "nativeSrc": "13377:102:84",
              "nodeType": "YulBlock",
              "src": "13377:102:84",
              "statements": [
                {
                  "nativeSrc": "13387:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13387:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13399:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13399:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13410:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13410:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13395:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13395:3:84"
                    },
                    "nativeSrc": "13395:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13395:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13387:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13387:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13429:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13429:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13444:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13444:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13460:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13460:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13465:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13465:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "13456:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13456:3:84"
                                },
                                "nativeSrc": "13456:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13456:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13469:1:84",
                                "nodeType": "YulLiteral",
                                "src": "13469:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "13452:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13452:3:84"
                            },
                            "nativeSrc": "13452:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13452:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13440:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13440:3:84"
                        },
                        "nativeSrc": "13440:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13440:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13422:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13422:6:84"
                    },
                    "nativeSrc": "13422:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13422:51:84"
                  },
                  "nativeSrc": "13422:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13422:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed",
            "nativeSrc": "13246:233:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13346:9:84",
                "nodeType": "YulTypedName",
                "src": "13346:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13357:6:84",
                "nodeType": "YulTypedName",
                "src": "13357:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13368:4:84",
                "nodeType": "YulTypedName",
                "src": "13368:4:84",
                "type": ""
              }
            ],
            "src": "13246:233:84"
          },
          {
            "body": {
              "nativeSrc": "13583:103:84",
              "nodeType": "YulBlock",
              "src": "13583:103:84",
              "statements": [
                {
                  "nativeSrc": "13593:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13593:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13605:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13605:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13616:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13616:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13601:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13601:3:84"
                    },
                    "nativeSrc": "13601:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13601:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13593:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13593:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13635:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13635:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13650:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13650:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13662:3:84",
                                "nodeType": "YulLiteral",
                                "src": "13662:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13667:10:84",
                                "nodeType": "YulLiteral",
                                "src": "13667:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13658:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13658:3:84"
                            },
                            "nativeSrc": "13658:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13658:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13646:3:84"
                        },
                        "nativeSrc": "13646:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13646:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13628:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13628:6:84"
                    },
                    "nativeSrc": "13628:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13628:52:84"
                  },
                  "nativeSrc": "13628:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13628:52:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "13484:202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13552:9:84",
                "nodeType": "YulTypedName",
                "src": "13552:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13563:6:84",
                "nodeType": "YulTypedName",
                "src": "13563:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13574:4:84",
                "nodeType": "YulTypedName",
                "src": "13574:4:84",
                "type": ""
              }
            ],
            "src": "13484:202:84"
          },
          {
            "body": {
              "nativeSrc": "13735:73:84",
              "nodeType": "YulBlock",
              "src": "13735:73:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13786:16:84",
                    "nodeType": "YulBlock",
                    "src": "13786:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13795:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13795:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13798:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13798:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13788:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13788:6:84"
                          },
                          "nativeSrc": "13788:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13788:12:84"
                        },
                        "nativeSrc": "13788:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13788:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13758:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13758:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13769:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "13769:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13776:6:84",
                                "nodeType": "YulLiteral",
                                "src": "13776:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13765:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13765:3:84"
                            },
                            "nativeSrc": "13765:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13765:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13755:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "13755:2:84"
                        },
                        "nativeSrc": "13755:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13755:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13748:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13748:6:84"
                    },
                    "nativeSrc": "13748:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13748:37:84"
                  },
                  "nativeSrc": "13745:57:84",
                  "nodeType": "YulIf",
                  "src": "13745:57:84"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "13691:117:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13724:5:84",
                "nodeType": "YulTypedName",
                "src": "13724:5:84",
                "type": ""
              }
            ],
            "src": "13691:117:84"
          },
          {
            "body": {
              "nativeSrc": "13899:227:84",
              "nodeType": "YulBlock",
              "src": "13899:227:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13945:16:84",
                    "nodeType": "YulBlock",
                    "src": "13945:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13954:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13954:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13957:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13957:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13947:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13947:6:84"
                          },
                          "nativeSrc": "13947:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13947:12:84"
                        },
                        "nativeSrc": "13947:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13947:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13920:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13920:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13929:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13929:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13916:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13916:3:84"
                        },
                        "nativeSrc": "13916:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13916:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13941:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13941:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13912:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13912:3:84"
                    },
                    "nativeSrc": "13912:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13912:32:84"
                  },
                  "nativeSrc": "13909:52:84",
                  "nodeType": "YulIf",
                  "src": "13909:52:84"
                },
                {
                  "nativeSrc": "13970:33:84",
                  "nodeType": "YulAssignment",
                  "src": "13970:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13993:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13993:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13980:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13980:12:84"
                    },
                    "nativeSrc": "13980:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13980:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13970:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13970:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14012:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14012:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14042:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14042:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14053:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14053:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14038:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14038:3:84"
                        },
                        "nativeSrc": "14038:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14038:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14025:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14025:12:84"
                    },
                    "nativeSrc": "14025:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14025:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "14016:5:84",
                      "nodeType": "YulTypedName",
                      "src": "14016:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14090:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "14090:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "14066:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "14066:23:84"
                    },
                    "nativeSrc": "14066:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14066:30:84"
                  },
                  "nativeSrc": "14066:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14066:30:84"
                },
                {
                  "nativeSrc": "14105:15:84",
                  "nodeType": "YulAssignment",
                  "src": "14105:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "14115:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "14115:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14105:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14105:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint16",
            "nativeSrc": "13813:313:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13857:9:84",
                "nodeType": "YulTypedName",
                "src": "13857:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13868:7:84",
                "nodeType": "YulTypedName",
                "src": "13868:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13880:6:84",
                "nodeType": "YulTypedName",
                "src": "13880:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13888:6:84",
                "nodeType": "YulTypedName",
                "src": "13888:6:84",
                "type": ""
              }
            ],
            "src": "13813:313:84"
          },
          {
            "body": {
              "nativeSrc": "14250:98:84",
              "nodeType": "YulBlock",
              "src": "14250:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14267:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14267:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14278:2:84",
                        "nodeType": "YulLiteral",
                        "src": "14278:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14260:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14260:6:84"
                    },
                    "nativeSrc": "14260:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14260:21:84"
                  },
                  "nativeSrc": "14260:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14260:21:84"
                },
                {
                  "nativeSrc": "14290:52:84",
                  "nodeType": "YulAssignment",
                  "src": "14290:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14315:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14315:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14327:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14327:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14338:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14338:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14323:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14323:3:84"
                        },
                        "nativeSrc": "14323:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14323:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "14298:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "14298:16:84"
                    },
                    "nativeSrc": "14298:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14298:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14290:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14290:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "14131:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14219:9:84",
                "nodeType": "YulTypedName",
                "src": "14219:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "14230:6:84",
                "nodeType": "YulTypedName",
                "src": "14230:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "14241:4:84",
                "nodeType": "YulTypedName",
                "src": "14241:4:84",
                "type": ""
              }
            ],
            "src": "14131:217:84"
          },
          {
            "body": {
              "nativeSrc": "14528:727:84",
              "nodeType": "YulBlock",
              "src": "14528:727:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14575:16:84",
                    "nodeType": "YulBlock",
                    "src": "14575:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14584:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14584:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14587:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14587:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14577:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14577:6:84"
                          },
                          "nativeSrc": "14577:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14577:12:84"
                        },
                        "nativeSrc": "14577:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14577:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14549:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "14549:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14558:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14558:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14545:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14545:3:84"
                        },
                        "nativeSrc": "14545:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14545:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14570:3:84",
                        "nodeType": "YulLiteral",
                        "src": "14570:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14541:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14541:3:84"
                    },
                    "nativeSrc": "14541:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14541:33:84"
                  },
                  "nativeSrc": "14538:53:84",
                  "nodeType": "YulIf",
                  "src": "14538:53:84"
                },
                {
                  "nativeSrc": "14600:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14600:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14627:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14627:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14614:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14614:12:84"
                    },
                    "nativeSrc": "14614:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14614:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14604:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14604:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14646:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14646:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14656:18:84",
                    "nodeType": "YulLiteral",
                    "src": "14656:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14650:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14650:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14701:16:84",
                    "nodeType": "YulBlock",
                    "src": "14701:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14710:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14710:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14713:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14713:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14703:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14703:6:84"
                          },
                          "nativeSrc": "14703:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14703:12:84"
                        },
                        "nativeSrc": "14703:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14703:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14689:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14689:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14697:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14697:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14686:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14686:2:84"
                    },
                    "nativeSrc": "14686:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14686:14:84"
                  },
                  "nativeSrc": "14683:34:84",
                  "nodeType": "YulIf",
                  "src": "14683:34:84"
                },
                {
                  "nativeSrc": "14726:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14726:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14814:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14814:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14825:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14825:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14810:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14810:3:84"
                        },
                        "nativeSrc": "14810:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14810:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14834:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14834:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "14752:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "14752:57:84"
                    },
                    "nativeSrc": "14752:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14752:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14730:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14730:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14740:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14740:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14851:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14851:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14861:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14861:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14851:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14851:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14878:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14878:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14888:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14888:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14878:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14878:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14905:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14905:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14938:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14938:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14949:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14949:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14934:3:84"
                        },
                        "nativeSrc": "14934:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14934:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14921:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14921:12:84"
                    },
                    "nativeSrc": "14921:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14921:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14909:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14909:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14982:16:84",
                    "nodeType": "YulBlock",
                    "src": "14982:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14991:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14991:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14994:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14994:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14984:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14984:6:84"
                          },
                          "nativeSrc": "14984:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14984:12:84"
                        },
                        "nativeSrc": "14984:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14984:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14968:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "14968:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14978:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14978:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14965:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14965:2:84"
                    },
                    "nativeSrc": "14965:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14965:16:84"
                  },
                  "nativeSrc": "14962:36:84",
                  "nodeType": "YulIf",
                  "src": "14962:36:84"
                },
                {
                  "nativeSrc": "15007:86:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15007:86:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15063:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15063:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "15074:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "15074:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15059:3:84"
                        },
                        "nativeSrc": "15059:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15059:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15085:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "15085:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "15033:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "15033:25:84"
                    },
                    "nativeSrc": "15033:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15033:60:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "15011:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15011:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "15021:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15021:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15102:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15102:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "15112:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15112:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15102:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15102:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15129:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15129:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "15139:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15139:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "15129:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15129:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15156:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15156:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15183:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15183:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15194:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15194:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15179:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15179:3:84"
                        },
                        "nativeSrc": "15179:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15179:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15166:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15166:12:84"
                    },
                    "nativeSrc": "15166:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15166:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "15156:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15156:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15207:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15207:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15234:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15234:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15245:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15245:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15230:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15230:3:84"
                        },
                        "nativeSrc": "15230:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15230:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15217:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15217:12:84"
                    },
                    "nativeSrc": "15217:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15217:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "15207:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15207:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "14353:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14454:9:84",
                "nodeType": "YulTypedName",
                "src": "14454:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14465:7:84",
                "nodeType": "YulTypedName",
                "src": "14465:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14477:6:84",
                "nodeType": "YulTypedName",
                "src": "14477:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14485:6:84",
                "nodeType": "YulTypedName",
                "src": "14485:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14493:6:84",
                "nodeType": "YulTypedName",
                "src": "14493:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "14501:6:84",
                "nodeType": "YulTypedName",
                "src": "14501:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "14509:6:84",
                "nodeType": "YulTypedName",
                "src": "14509:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "14517:6:84",
                "nodeType": "YulTypedName",
                "src": "14517:6:84",
                "type": ""
              }
            ],
            "src": "14353:902:84"
          },
          {
            "body": {
              "nativeSrc": "15389:119:84",
              "nodeType": "YulBlock",
              "src": "15389:119:84",
              "statements": [
                {
                  "nativeSrc": "15399:26:84",
                  "nodeType": "YulAssignment",
                  "src": "15399:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15411:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15411:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15422:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15422:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15407:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15407:3:84"
                    },
                    "nativeSrc": "15407:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15407:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15399:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15399:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15441:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15441:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "15452:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15452:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15434:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15434:6:84"
                    },
                    "nativeSrc": "15434:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15434:25:84"
                  },
                  "nativeSrc": "15434:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15434:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15479:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15479:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15490:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15490:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15475:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15475:3:84"
                        },
                        "nativeSrc": "15475:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15475:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "15495:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15495:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15468:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15468:6:84"
                    },
                    "nativeSrc": "15468:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15468:34:84"
                  },
                  "nativeSrc": "15468:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15468:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "15260:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15350:9:84",
                "nodeType": "YulTypedName",
                "src": "15350:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15361:6:84",
                "nodeType": "YulTypedName",
                "src": "15361:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15369:6:84",
                "nodeType": "YulTypedName",
                "src": "15369:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15380:4:84",
                "nodeType": "YulTypedName",
                "src": "15380:4:84",
                "type": ""
              }
            ],
            "src": "15260:248:84"
          },
          {
            "body": {
              "nativeSrc": "15600:161:84",
              "nodeType": "YulBlock",
              "src": "15600:161:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15646:16:84",
                    "nodeType": "YulBlock",
                    "src": "15646:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15655:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15655:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15658:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15658:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15648:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15648:6:84"
                          },
                          "nativeSrc": "15648:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15648:12:84"
                        },
                        "nativeSrc": "15648:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15648:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15621:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15621:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15630:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15630:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15617:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15617:3:84"
                        },
                        "nativeSrc": "15617:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15617:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15642:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15642:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15613:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15613:3:84"
                    },
                    "nativeSrc": "15613:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15613:32:84"
                  },
                  "nativeSrc": "15610:52:84",
                  "nodeType": "YulIf",
                  "src": "15610:52:84"
                },
                {
                  "nativeSrc": "15671:33:84",
                  "nodeType": "YulAssignment",
                  "src": "15671:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15694:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15694:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15681:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15681:12:84"
                    },
                    "nativeSrc": "15681:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15681:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15671:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15671:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15713:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15713:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15740:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15740:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15751:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15751:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15736:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15736:3:84"
                        },
                        "nativeSrc": "15736:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15736:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15723:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15723:12:84"
                    },
                    "nativeSrc": "15723:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15723:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15713:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15713:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32",
            "nativeSrc": "15513:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15558:9:84",
                "nodeType": "YulTypedName",
                "src": "15558:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15569:7:84",
                "nodeType": "YulTypedName",
                "src": "15569:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15581:6:84",
                "nodeType": "YulTypedName",
                "src": "15581:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15589:6:84",
                "nodeType": "YulTypedName",
                "src": "15589:6:84",
                "type": ""
              }
            ],
            "src": "15513:248:84"
          },
          {
            "body": {
              "nativeSrc": "15917:460:84",
              "nodeType": "YulBlock",
              "src": "15917:460:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15964:16:84",
                    "nodeType": "YulBlock",
                    "src": "15964:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15973:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15973:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15976:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15976:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15966:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15966:6:84"
                          },
                          "nativeSrc": "15966:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15966:12:84"
                        },
                        "nativeSrc": "15966:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15966:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15938:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15938:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15947:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15947:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15934:3:84"
                        },
                        "nativeSrc": "15934:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15934:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15959:3:84",
                        "nodeType": "YulLiteral",
                        "src": "15959:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15930:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15930:3:84"
                    },
                    "nativeSrc": "15930:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15930:33:84"
                  },
                  "nativeSrc": "15927:53:84",
                  "nodeType": "YulIf",
                  "src": "15927:53:84"
                },
                {
                  "nativeSrc": "15989:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15989:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16016:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16016:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16003:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "16003:12:84"
                    },
                    "nativeSrc": "16003:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16003:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15993:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15993:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16069:16:84",
                    "nodeType": "YulBlock",
                    "src": "16069:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16078:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16078:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16081:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16081:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16071:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16071:6:84"
                          },
                          "nativeSrc": "16071:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16071:12:84"
                        },
                        "nativeSrc": "16071:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16071:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16041:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16041:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16049:18:84",
                        "nodeType": "YulLiteral",
                        "src": "16049:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16038:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16038:2:84"
                    },
                    "nativeSrc": "16038:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16038:30:84"
                  },
                  "nativeSrc": "16035:50:84",
                  "nodeType": "YulIf",
                  "src": "16035:50:84"
                },
                {
                  "nativeSrc": "16094:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16094:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16150:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16150:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16161:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16161:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16146:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16146:3:84"
                        },
                        "nativeSrc": "16146:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16146:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16170:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16170:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "16120:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "16120:25:84"
                    },
                    "nativeSrc": "16120:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16120:58:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "16098:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16098:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "16108:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16108:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16187:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16187:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "16197:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16197:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16187:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16187:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16214:18:84",
                  "nodeType": "YulAssignment",
                  "src": "16214:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16224:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "16224:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16214:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16214:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16241:74:84",
                  "nodeType": "YulAssignment",
                  "src": "16241:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16291:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16291:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16302:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16302:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16287:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16287:3:84"
                        },
                        "nativeSrc": "16287:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16287:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16307:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16307:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "16251:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "16251:35:84"
                    },
                    "nativeSrc": "16251:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16251:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "16241:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16241:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16324:47:84",
                  "nodeType": "YulAssignment",
                  "src": "16324:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16356:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16356:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16367:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16367:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16352:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16352:3:84"
                        },
                        "nativeSrc": "16352:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16352:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "16334:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "16334:17:84"
                    },
                    "nativeSrc": "16334:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16334:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "16324:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16324:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "15766:611:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15859:9:84",
                "nodeType": "YulTypedName",
                "src": "15859:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15870:7:84",
                "nodeType": "YulTypedName",
                "src": "15870:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15882:6:84",
                "nodeType": "YulTypedName",
                "src": "15882:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15890:6:84",
                "nodeType": "YulTypedName",
                "src": "15890:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15898:6:84",
                "nodeType": "YulTypedName",
                "src": "15898:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15906:6:84",
                "nodeType": "YulTypedName",
                "src": "15906:6:84",
                "type": ""
              }
            ],
            "src": "15766:611:84"
          },
          {
            "body": {
              "nativeSrc": "16440:91:84",
              "nodeType": "YulBlock",
              "src": "16440:91:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16476:22:84",
                    "nodeType": "YulBlock",
                    "src": "16476:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "16478:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "16478:16:84"
                          },
                          "nativeSrc": "16478:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16478:18:84"
                        },
                        "nativeSrc": "16478:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16478:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16463:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "16463:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16470:3:84",
                            "nodeType": "YulLiteral",
                            "src": "16470:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "16460:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "16460:2:84"
                        },
                        "nativeSrc": "16460:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16460:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16453:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16453:6:84"
                    },
                    "nativeSrc": "16453:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16453:22:84"
                  },
                  "nativeSrc": "16450:48:84",
                  "nodeType": "YulIf",
                  "src": "16450:48:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16514:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16514:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "16519:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "16519:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16507:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16507:6:84"
                    },
                    "nativeSrc": "16507:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16507:18:84"
                  },
                  "nativeSrc": "16507:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16507:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResultErrorCodes",
            "nativeSrc": "16382:149:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "16424:5:84",
                "nodeType": "YulTypedName",
                "src": "16424:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "16431:3:84",
                "nodeType": "YulTypedName",
                "src": "16431:3:84",
                "type": ""
              }
            ],
            "src": "16382:149:84"
          },
          {
            "body": {
              "nativeSrc": "16697:274:84",
              "nodeType": "YulBlock",
              "src": "16697:274:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16714:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16714:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16725:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16725:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16707:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16707:6:84"
                    },
                    "nativeSrc": "16707:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16707:21:84"
                  },
                  "nativeSrc": "16707:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16707:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16776:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16776:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "16770:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "16770:5:84"
                        },
                        "nativeSrc": "16770:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16770:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16789:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16789:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16800:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16800:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16785:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16785:3:84"
                        },
                        "nativeSrc": "16785:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16785:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "16737:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "16737:32:84"
                    },
                    "nativeSrc": "16737:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16737:67:84"
                  },
                  "nativeSrc": "16737:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16737:67:84"
                },
                {
                  "nativeSrc": "16813:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16813:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16843:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16843:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16851:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16851:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16839:3:84"
                        },
                        "nativeSrc": "16839:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16839:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16833:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16833:5:84"
                    },
                    "nativeSrc": "16833:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16833:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16817:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16817:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16875:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16875:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16886:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16886:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16871:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16871:3:84"
                        },
                        "nativeSrc": "16871:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16871:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16893:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16893:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16864:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16864:6:84"
                    },
                    "nativeSrc": "16864:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16864:34:84"
                  },
                  "nativeSrc": "16864:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16864:34:84"
                },
                {
                  "nativeSrc": "16907:58:84",
                  "nodeType": "YulAssignment",
                  "src": "16907:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "16932:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "16932:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16950:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16950:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16961:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16961:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16946:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16946:3:84"
                        },
                        "nativeSrc": "16946:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16946:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "16915:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "16915:16:84"
                    },
                    "nativeSrc": "16915:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16915:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16907:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "16907:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed",
            "nativeSrc": "16536:435:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16666:9:84",
                "nodeType": "YulTypedName",
                "src": "16666:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16677:6:84",
                "nodeType": "YulTypedName",
                "src": "16677:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16688:4:84",
                "nodeType": "YulTypedName",
                "src": "16688:4:84",
                "type": ""
              }
            ],
            "src": "16536:435:84"
          },
          {
            "body": {
              "nativeSrc": "17125:397:84",
              "nodeType": "YulBlock",
              "src": "17125:397:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17142:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17142:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17153:2:84",
                        "nodeType": "YulLiteral",
                        "src": "17153:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17135:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17135:6:84"
                    },
                    "nativeSrc": "17135:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17135:21:84"
                  },
                  "nativeSrc": "17135:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17135:21:84"
                },
                {
                  "nativeSrc": "17165:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17165:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "17191:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17191:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17185:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17185:5:84"
                    },
                    "nativeSrc": "17185:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17185:13:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "17169:12:84",
                      "nodeType": "YulTypedName",
                      "src": "17169:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17218:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17218:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17229:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17229:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17214:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17214:3:84"
                        },
                        "nativeSrc": "17214:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17214:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17234:4:84",
                        "nodeType": "YulLiteral",
                        "src": "17234:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17207:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17207:6:84"
                    },
                    "nativeSrc": "17207:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17207:32:84"
                  },
                  "nativeSrc": "17207:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17207:32:84"
                },
                {
                  "nativeSrc": "17248:73:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17248:73:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "17288:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "17288:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17306:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17306:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17317:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17317:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17302:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17302:3:84"
                        },
                        "nativeSrc": "17302:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17302:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "17262:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "17262:25:84"
                    },
                    "nativeSrc": "17262:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17262:59:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "17252:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17252:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17330:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17330:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17362:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17370:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17370:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17358:3:84"
                        },
                        "nativeSrc": "17358:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17358:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17352:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17352:5:84"
                    },
                    "nativeSrc": "17352:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17352:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "17334:14:84",
                      "nodeType": "YulTypedName",
                      "src": "17334:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17394:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17394:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17405:4:84",
                            "nodeType": "YulLiteral",
                            "src": "17405:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17390:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17390:3:84"
                        },
                        "nativeSrc": "17390:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17390:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "tail_1",
                                "nativeSrc": "17420:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "17420:6:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "17428:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "17428:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "17416:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17416:3:84"
                            },
                            "nativeSrc": "17416:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17416:22:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17444:2:84",
                                "nodeType": "YulLiteral",
                                "src": "17444:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "17440:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17440:3:84"
                            },
                            "nativeSrc": "17440:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17440:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17412:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17412:3:84"
                        },
                        "nativeSrc": "17412:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17412:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17383:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17383:6:84"
                    },
                    "nativeSrc": "17383:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17383:66:84"
                  },
                  "nativeSrc": "17383:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17383:66:84"
                },
                {
                  "nativeSrc": "17458:58:84",
                  "nodeType": "YulAssignment",
                  "src": "17458:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "17493:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "17493:14:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "17509:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17509:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "17466:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "17466:26:84"
                    },
                    "nativeSrc": "17466:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17466:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17458:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17458:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed",
            "nativeSrc": "16976:546:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17094:9:84",
                "nodeType": "YulTypedName",
                "src": "17094:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "17105:6:84",
                "nodeType": "YulTypedName",
                "src": "17105:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "17116:4:84",
                "nodeType": "YulTypedName",
                "src": "17116:4:84",
                "type": ""
              }
            ],
            "src": "16976:546:84"
          },
          {
            "body": {
              "nativeSrc": "17575:115:84",
              "nodeType": "YulBlock",
              "src": "17575:115:84",
              "statements": [
                {
                  "nativeSrc": "17585:29:84",
                  "nodeType": "YulAssignment",
                  "src": "17585:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17607:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17607:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17594:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17594:12:84"
                    },
                    "nativeSrc": "17594:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17594:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "17585:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17585:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17668:16:84",
                    "nodeType": "YulBlock",
                    "src": "17668:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17677:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17677:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17680:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17680:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17670:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17670:6:84"
                          },
                          "nativeSrc": "17670:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17670:12:84"
                        },
                        "nativeSrc": "17670:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17670:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17636:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "17636:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17647:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "17647:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17654:10:84",
                                "nodeType": "YulLiteral",
                                "src": "17654:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17643:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17643:3:84"
                            },
                            "nativeSrc": "17643:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17643:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17633:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "17633:2:84"
                        },
                        "nativeSrc": "17633:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17633:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17626:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17626:6:84"
                    },
                    "nativeSrc": "17626:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17626:41:84"
                  },
                  "nativeSrc": "17623:61:84",
                  "nodeType": "YulIf",
                  "src": "17623:61:84"
                }
              ]
            },
            "name": "abi_decode_uint32",
            "nativeSrc": "17527:163:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "17554:6:84",
                "nodeType": "YulTypedName",
                "src": "17554:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "17565:5:84",
                "nodeType": "YulTypedName",
                "src": "17565:5:84",
                "type": ""
              }
            ],
            "src": "17527:163:84"
          },
          {
            "body": {
              "nativeSrc": "17834:479:84",
              "nodeType": "YulBlock",
              "src": "17834:479:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17881:16:84",
                    "nodeType": "YulBlock",
                    "src": "17881:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17890:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17890:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17893:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17893:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17883:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17883:6:84"
                          },
                          "nativeSrc": "17883:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17883:12:84"
                        },
                        "nativeSrc": "17883:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17883:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17855:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17855:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17864:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17864:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17851:3:84"
                        },
                        "nativeSrc": "17851:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17851:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17876:3:84",
                        "nodeType": "YulLiteral",
                        "src": "17876:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17847:3:84"
                    },
                    "nativeSrc": "17847:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17847:33:84"
                  },
                  "nativeSrc": "17844:53:84",
                  "nodeType": "YulIf",
                  "src": "17844:53:84"
                },
                {
                  "nativeSrc": "17906:33:84",
                  "nodeType": "YulAssignment",
                  "src": "17906:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17929:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17929:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17916:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17916:12:84"
                    },
                    "nativeSrc": "17916:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17916:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17906:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17906:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17948:47:84",
                  "nodeType": "YulAssignment",
                  "src": "17948:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17980:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17980:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17991:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17991:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17976:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17976:3:84"
                        },
                        "nativeSrc": "17976:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17976:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "17958:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17958:17:84"
                    },
                    "nativeSrc": "17958:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17958:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17948:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17948:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18004:42:84",
                  "nodeType": "YulAssignment",
                  "src": "18004:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18031:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18031:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18042:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18042:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18027:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18027:3:84"
                        },
                        "nativeSrc": "18027:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18027:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18014:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18014:12:84"
                    },
                    "nativeSrc": "18014:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18014:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18004:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18004:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18055:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18055:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18086:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18086:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18097:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18097:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18082:3:84"
                        },
                        "nativeSrc": "18082:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18082:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18069:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18069:12:84"
                    },
                    "nativeSrc": "18069:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18069:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "18059:6:84",
                      "nodeType": "YulTypedName",
                      "src": "18059:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18144:16:84",
                    "nodeType": "YulBlock",
                    "src": "18144:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18153:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18153:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18156:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18156:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18146:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18146:6:84"
                          },
                          "nativeSrc": "18146:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18146:12:84"
                        },
                        "nativeSrc": "18146:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18146:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "18116:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "18116:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18124:18:84",
                        "nodeType": "YulLiteral",
                        "src": "18124:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "18113:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "18113:2:84"
                    },
                    "nativeSrc": "18113:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18113:30:84"
                  },
                  "nativeSrc": "18110:50:84",
                  "nodeType": "YulIf",
                  "src": "18110:50:84"
                },
                {
                  "nativeSrc": "18169:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18169:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18225:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18225:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "18236:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18236:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18221:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18221:3:84"
                        },
                        "nativeSrc": "18221:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18221:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18245:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18245:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "18195:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "18195:25:84"
                    },
                    "nativeSrc": "18195:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18195:58:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "18173:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18173:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "18183:8:84",
                      "nodeType": "YulTypedName",
                      "src": "18183:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18262:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18262:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "18272:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18272:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "18262:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18262:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18289:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18289:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "18299:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18299:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "18289:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18289:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "17695:618:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17768:9:84",
                "nodeType": "YulTypedName",
                "src": "17768:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17779:7:84",
                "nodeType": "YulTypedName",
                "src": "17779:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17791:6:84",
                "nodeType": "YulTypedName",
                "src": "17791:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17799:6:84",
                "nodeType": "YulTypedName",
                "src": "17799:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17807:6:84",
                "nodeType": "YulTypedName",
                "src": "17807:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17815:6:84",
                "nodeType": "YulTypedName",
                "src": "17815:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "17823:6:84",
                "nodeType": "YulTypedName",
                "src": "17823:6:84",
                "type": ""
              }
            ],
            "src": "17695:618:84"
          },
          {
            "body": {
              "nativeSrc": "18447:102:84",
              "nodeType": "YulBlock",
              "src": "18447:102:84",
              "statements": [
                {
                  "nativeSrc": "18457:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18457:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18469:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18469:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18480:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18480:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18465:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18465:3:84"
                    },
                    "nativeSrc": "18465:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18465:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18457:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18457:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18499:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18499:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18514:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18514:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18530:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18530:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18535:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18535:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18526:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18526:3:84"
                                },
                                "nativeSrc": "18526:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18526:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18539:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18539:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18522:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18522:3:84"
                            },
                            "nativeSrc": "18522:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18522:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18510:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18510:3:84"
                        },
                        "nativeSrc": "18510:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18510:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18492:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18492:6:84"
                    },
                    "nativeSrc": "18492:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18492:51:84"
                  },
                  "nativeSrc": "18492:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18492:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed",
            "nativeSrc": "18318:231:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18416:9:84",
                "nodeType": "YulTypedName",
                "src": "18416:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18427:6:84",
                "nodeType": "YulTypedName",
                "src": "18427:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18438:4:84",
                "nodeType": "YulTypedName",
                "src": "18438:4:84",
                "type": ""
              }
            ],
            "src": "18318:231:84"
          },
          {
            "body": {
              "nativeSrc": "18669:102:84",
              "nodeType": "YulBlock",
              "src": "18669:102:84",
              "statements": [
                {
                  "nativeSrc": "18679:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18679:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18691:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18691:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18702:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18702:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18687:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18687:3:84"
                    },
                    "nativeSrc": "18687:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18687:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18679:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18679:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18721:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18721:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18736:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18736:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18752:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18752:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18757:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18757:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18748:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18748:3:84"
                                },
                                "nativeSrc": "18748:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18748:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18761:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18761:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18744:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18744:3:84"
                            },
                            "nativeSrc": "18744:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18744:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18732:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18732:3:84"
                        },
                        "nativeSrc": "18732:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18732:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18714:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18714:6:84"
                    },
                    "nativeSrc": "18714:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18714:51:84"
                  },
                  "nativeSrc": "18714:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18714:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed",
            "nativeSrc": "18554:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18638:9:84",
                "nodeType": "YulTypedName",
                "src": "18638:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18649:6:84",
                "nodeType": "YulTypedName",
                "src": "18649:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18660:4:84",
                "nodeType": "YulTypedName",
                "src": "18660:4:84",
                "type": ""
              }
            ],
            "src": "18554:217:84"
          },
          {
            "body": {
              "nativeSrc": "18908:250:84",
              "nodeType": "YulBlock",
              "src": "18908:250:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18955:16:84",
                    "nodeType": "YulBlock",
                    "src": "18955:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18964:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18964:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18967:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18967:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18957:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18957:6:84"
                          },
                          "nativeSrc": "18957:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18957:12:84"
                        },
                        "nativeSrc": "18957:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18957:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18929:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18929:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18938:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18938:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18925:3:84"
                        },
                        "nativeSrc": "18925:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18925:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18950:3:84",
                        "nodeType": "YulLiteral",
                        "src": "18950:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18921:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18921:3:84"
                    },
                    "nativeSrc": "18921:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18921:33:84"
                  },
                  "nativeSrc": "18918:53:84",
                  "nodeType": "YulIf",
                  "src": "18918:53:84"
                },
                {
                  "nativeSrc": "18980:33:84",
                  "nodeType": "YulAssignment",
                  "src": "18980:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19003:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "19003:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18990:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18990:12:84"
                    },
                    "nativeSrc": "18990:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18990:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18980:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18980:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "19022:74:84",
                  "nodeType": "YulAssignment",
                  "src": "19022:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19072:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19072:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19083:2:84",
                            "nodeType": "YulLiteral",
                            "src": "19083:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19068:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19068:3:84"
                        },
                        "nativeSrc": "19068:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19068:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "19088:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "19088:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "19032:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "19032:35:84"
                    },
                    "nativeSrc": "19032:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19032:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "19022:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19022:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "19105:47:84",
                  "nodeType": "YulAssignment",
                  "src": "19105:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19137:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "19137:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19148:2:84",
                            "nodeType": "YulLiteral",
                            "src": "19148:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19133:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19133:3:84"
                        },
                        "nativeSrc": "19133:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19133:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "19115:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "19115:17:84"
                    },
                    "nativeSrc": "19115:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19115:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "19105:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19105:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "18776:382:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18858:9:84",
                "nodeType": "YulTypedName",
                "src": "18858:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18869:7:84",
                "nodeType": "YulTypedName",
                "src": "18869:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18881:6:84",
                "nodeType": "YulTypedName",
                "src": "18881:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18889:6:84",
                "nodeType": "YulTypedName",
                "src": "18889:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18897:6:84",
                "nodeType": "YulTypedName",
                "src": "18897:6:84",
                "type": ""
              }
            ],
            "src": "18776:382:84"
          },
          {
            "body": {
              "nativeSrc": "19451:353:84",
              "nodeType": "YulBlock",
              "src": "19451:353:84",
              "statements": [
                {
                  "nativeSrc": "19461:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19461:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "19481:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19481:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19475:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19475:5:84"
                    },
                    "nativeSrc": "19475:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19475:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19465:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19465:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19536:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19536:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19544:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19544:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19532:3:84"
                        },
                        "nativeSrc": "19532:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19532:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "19551:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19551:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19556:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19556:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19497:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19497:34:84"
                    },
                    "nativeSrc": "19497:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19497:66:84"
                  },
                  "nativeSrc": "19497:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19497:66:84"
                },
                {
                  "nativeSrc": "19572:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19572:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19589:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19589:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19594:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19594:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19585:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19585:3:84"
                    },
                    "nativeSrc": "19585:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19585:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "19576:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19576:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "19617:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19617:5:84"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "19624:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19624:4:84",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19610:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19610:6:84"
                    },
                    "nativeSrc": "19610:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19610:19:84"
                  },
                  "nativeSrc": "19610:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19610:19:84"
                },
                {
                  "nativeSrc": "19638:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19638:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "19660:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19660:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19654:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19654:5:84"
                    },
                    "nativeSrc": "19654:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19654:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "19642:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19642:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "19715:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19715:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19723:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19723:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19711:3:84"
                        },
                        "nativeSrc": "19711:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19711:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19734:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19734:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19741:1:84",
                            "nodeType": "YulLiteral",
                            "src": "19741:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19730:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19730:3:84"
                        },
                        "nativeSrc": "19730:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19730:13:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "19745:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "19745:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19676:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19676:34:84"
                    },
                    "nativeSrc": "19676:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19676:78:84"
                  },
                  "nativeSrc": "19676:78:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19676:78:84"
                },
                {
                  "nativeSrc": "19763:35:84",
                  "nodeType": "YulAssignment",
                  "src": "19763:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19778:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19778:5:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "19785:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "19785:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19774:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19774:3:84"
                        },
                        "nativeSrc": "19774:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19774:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19796:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19796:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19770:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19770:3:84"
                    },
                    "nativeSrc": "19770:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19770:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "19763:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19763:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "19163:641:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "19419:3:84",
                "nodeType": "YulTypedName",
                "src": "19419:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19424:6:84",
                "nodeType": "YulTypedName",
                "src": "19424:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19432:6:84",
                "nodeType": "YulTypedName",
                "src": "19432:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "19443:3:84",
                "nodeType": "YulTypedName",
                "src": "19443:3:84",
                "type": ""
              }
            ],
            "src": "19163:641:84"
          },
          {
            "body": {
              "nativeSrc": "19841:95:84",
              "nodeType": "YulBlock",
              "src": "19841:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19858:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19858:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19865:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19865:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19870:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19870:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19861:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19861:3:84"
                        },
                        "nativeSrc": "19861:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19861:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19851:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19851:6:84"
                    },
                    "nativeSrc": "19851:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19851:31:84"
                  },
                  "nativeSrc": "19851:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19851:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19898:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19898:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19901:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19901:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19891:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19891:6:84"
                    },
                    "nativeSrc": "19891:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19891:15:84"
                  },
                  "nativeSrc": "19891:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19891:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19922:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19922:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19925:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19925:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19915:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19915:6:84"
                    },
                    "nativeSrc": "19915:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19915:15:84"
                  },
                  "nativeSrc": "19915:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19915:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "19809:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19809:127:84"
          },
          {
            "body": {
              "nativeSrc": "19973:95:84",
              "nodeType": "YulBlock",
              "src": "19973:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19990:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19990:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19997:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19997:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20002:10:84",
                            "nodeType": "YulLiteral",
                            "src": "20002:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19993:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19993:3:84"
                        },
                        "nativeSrc": "19993:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19993:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19983:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19983:6:84"
                    },
                    "nativeSrc": "19983:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19983:31:84"
                  },
                  "nativeSrc": "19983:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19983:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20030:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20030:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20033:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20033:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20023:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20023:6:84"
                    },
                    "nativeSrc": "20023:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20023:15:84"
                  },
                  "nativeSrc": "20023:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20023:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20054:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20054:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20057:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20057:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "20047:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20047:6:84"
                    },
                    "nativeSrc": "20047:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20047:15:84"
                  },
                  "nativeSrc": "20047:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20047:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "19941:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19941:127:84"
          },
          {
            "body": {
              "nativeSrc": "20117:121:84",
              "nodeType": "YulBlock",
              "src": "20117:121:84",
              "statements": [
                {
                  "nativeSrc": "20127:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20127:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "20142:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20142:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20145:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20145:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "20138:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20138:3:84"
                    },
                    "nativeSrc": "20138:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20138:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "20131:3:84",
                      "nodeType": "YulTypedName",
                      "src": "20131:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20174:22:84",
                    "nodeType": "YulBlock",
                    "src": "20174:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "20176:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20176:16:84"
                          },
                          "nativeSrc": "20176:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20176:18:84"
                        },
                        "nativeSrc": "20176:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20176:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "20169:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20169:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20162:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20162:6:84"
                    },
                    "nativeSrc": "20162:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20162:11:84"
                  },
                  "nativeSrc": "20159:37:84",
                  "nodeType": "YulIf",
                  "src": "20159:37:84"
                },
                {
                  "nativeSrc": "20205:27:84",
                  "nodeType": "YulAssignment",
                  "src": "20205:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20218:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20218:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20221:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20221:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20214:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20214:3:84"
                        },
                        "nativeSrc": "20214:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20214:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "20228:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20228:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "20210:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20210:3:84"
                    },
                    "nativeSrc": "20210:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20210:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "20205:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "20205:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "20073:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20102:1:84",
                "nodeType": "YulTypedName",
                "src": "20102:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20105:1:84",
                "nodeType": "YulTypedName",
                "src": "20105:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "20111:1:84",
                "nodeType": "YulTypedName",
                "src": "20111:1:84",
                "type": ""
              }
            ],
            "src": "20073:165:84"
          },
          {
            "body": {
              "nativeSrc": "20289:102:84",
              "nodeType": "YulBlock",
              "src": "20289:102:84",
              "statements": [
                {
                  "nativeSrc": "20299:38:84",
                  "nodeType": "YulAssignment",
                  "src": "20299:38:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20314:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20314:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20317:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20317:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20310:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20310:3:84"
                        },
                        "nativeSrc": "20310:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20310:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "20328:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20328:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20331:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20331:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20324:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20324:3:84"
                        },
                        "nativeSrc": "20324:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20324:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20306:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20306:3:84"
                    },
                    "nativeSrc": "20306:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20306:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20299:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20299:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20363:22:84",
                    "nodeType": "YulBlock",
                    "src": "20363:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20365:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20365:16:84"
                          },
                          "nativeSrc": "20365:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20365:18:84"
                        },
                        "nativeSrc": "20365:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20365:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "20352:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20352:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20357:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20357:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20349:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20349:2:84"
                    },
                    "nativeSrc": "20349:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20349:13:84"
                  },
                  "nativeSrc": "20346:39:84",
                  "nodeType": "YulIf",
                  "src": "20346:39:84"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "20243:148:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20272:1:84",
                "nodeType": "YulTypedName",
                "src": "20272:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20275:1:84",
                "nodeType": "YulTypedName",
                "src": "20275:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "20281:3:84",
                "nodeType": "YulTypedName",
                "src": "20281:3:84",
                "type": ""
              }
            ],
            "src": "20243:148:84"
          },
          {
            "body": {
              "nativeSrc": "20432:121:84",
              "nodeType": "YulBlock",
              "src": "20432:121:84",
              "statements": [
                {
                  "nativeSrc": "20442:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20442:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "20457:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20457:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20460:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20460:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "20453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20453:3:84"
                    },
                    "nativeSrc": "20453:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20453:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "20446:3:84",
                      "nodeType": "YulTypedName",
                      "src": "20446:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20489:22:84",
                    "nodeType": "YulBlock",
                    "src": "20489:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "20491:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20491:16:84"
                          },
                          "nativeSrc": "20491:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20491:18:84"
                        },
                        "nativeSrc": "20491:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20491:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "20484:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20484:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20477:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20477:6:84"
                    },
                    "nativeSrc": "20477:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20477:11:84"
                  },
                  "nativeSrc": "20474:37:84",
                  "nodeType": "YulIf",
                  "src": "20474:37:84"
                },
                {
                  "nativeSrc": "20520:27:84",
                  "nodeType": "YulAssignment",
                  "src": "20520:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20533:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20533:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20536:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20536:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20529:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20529:3:84"
                        },
                        "nativeSrc": "20529:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20529:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "20543:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20543:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "20525:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20525:3:84"
                    },
                    "nativeSrc": "20525:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20525:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "20520:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "20520:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "20396:157:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20417:1:84",
                "nodeType": "YulTypedName",
                "src": "20417:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20420:1:84",
                "nodeType": "YulTypedName",
                "src": "20420:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "20426:1:84",
                "nodeType": "YulTypedName",
                "src": "20426:1:84",
                "type": ""
              }
            ],
            "src": "20396:157:84"
          },
          {
            "body": {
              "nativeSrc": "20590:95:84",
              "nodeType": "YulBlock",
              "src": "20590:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20607:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20607:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "20614:3:84",
                            "nodeType": "YulLiteral",
                            "src": "20614:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20619:10:84",
                            "nodeType": "YulLiteral",
                            "src": "20619:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "20610:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20610:3:84"
                        },
                        "nativeSrc": "20610:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20610:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20600:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20600:6:84"
                    },
                    "nativeSrc": "20600:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20600:31:84"
                  },
                  "nativeSrc": "20600:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20600:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20647:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20647:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20650:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20650:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20640:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20640:6:84"
                    },
                    "nativeSrc": "20640:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20640:15:84"
                  },
                  "nativeSrc": "20640:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20640:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20671:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20671:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20674:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20674:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "20664:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20664:6:84"
                    },
                    "nativeSrc": "20664:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20664:15:84"
                  },
                  "nativeSrc": "20664:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20664:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "20558:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "20558:127:84"
          },
          {
            "body": {
              "nativeSrc": "20742:116:84",
              "nodeType": "YulBlock",
              "src": "20742:116:84",
              "statements": [
                {
                  "nativeSrc": "20752:20:84",
                  "nodeType": "YulAssignment",
                  "src": "20752:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20767:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20767:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20770:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20770:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "20763:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20763:3:84"
                    },
                    "nativeSrc": "20763:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20763:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "20752:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "20752:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20830:22:84",
                    "nodeType": "YulBlock",
                    "src": "20830:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20832:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20832:16:84"
                          },
                          "nativeSrc": "20832:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20832:18:84"
                        },
                        "nativeSrc": "20832:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20832:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "20801:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20801:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "20794:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "20794:6:84"
                            },
                            "nativeSrc": "20794:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20794:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "20808:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20808:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "20815:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20815:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "20824:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20824:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "20811:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20811:3:84"
                                },
                                "nativeSrc": "20811:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20811:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "20805:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "20805:2:84"
                            },
                            "nativeSrc": "20805:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20805:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "20791:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "20791:2:84"
                        },
                        "nativeSrc": "20791:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20791:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20784:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20784:6:84"
                    },
                    "nativeSrc": "20784:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20784:45:84"
                  },
                  "nativeSrc": "20781:71:84",
                  "nodeType": "YulIf",
                  "src": "20781:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "20690:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20721:1:84",
                "nodeType": "YulTypedName",
                "src": "20721:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20724:1:84",
                "nodeType": "YulTypedName",
                "src": "20724:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "20730:7:84",
                "nodeType": "YulTypedName",
                "src": "20730:7:84",
                "type": ""
              }
            ],
            "src": "20690:168:84"
          },
          {
            "body": {
              "nativeSrc": "20911:77:84",
              "nodeType": "YulBlock",
              "src": "20911:77:84",
              "statements": [
                {
                  "nativeSrc": "20921:16:84",
                  "nodeType": "YulAssignment",
                  "src": "20921:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20932:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20932:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20935:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20935:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20928:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20928:3:84"
                    },
                    "nativeSrc": "20928:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20928:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20921:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20921:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20960:22:84",
                    "nodeType": "YulBlock",
                    "src": "20960:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20962:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20962:16:84"
                          },
                          "nativeSrc": "20962:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20962:18:84"
                        },
                        "nativeSrc": "20962:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20962:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20952:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20952:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "20955:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20955:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20949:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20949:2:84"
                    },
                    "nativeSrc": "20949:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20949:10:84"
                  },
                  "nativeSrc": "20946:36:84",
                  "nodeType": "YulIf",
                  "src": "20946:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "20863:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20894:1:84",
                "nodeType": "YulTypedName",
                "src": "20894:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20897:1:84",
                "nodeType": "YulTypedName",
                "src": "20897:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "20903:3:84",
                "nodeType": "YulTypedName",
                "src": "20903:3:84",
                "type": ""
              }
            ],
            "src": "20863:125:84"
          },
          {
            "body": {
              "nativeSrc": "21100:223:84",
              "nodeType": "YulBlock",
              "src": "21100:223:84",
              "statements": [
                {
                  "nativeSrc": "21110:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21110:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "21149:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "21149:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "21136:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "21136:12:84"
                    },
                    "nativeSrc": "21136:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21136:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "21114:18:84",
                      "nodeType": "YulTypedName",
                      "src": "21114:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21251:16:84",
                    "nodeType": "YulBlock",
                    "src": "21251:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21260:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21260:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21263:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21263:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21253:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21253:6:84"
                          },
                          "nativeSrc": "21253:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21253:12:84"
                        },
                        "nativeSrc": "21253:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21253:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "21184:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "21184:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "21212:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "21212:12:84"
                                    },
                                    "nativeSrc": "21212:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "21212:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "21228:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "21228:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "21208:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "21208:3:84"
                                },
                                "nativeSrc": "21208:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "21208:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "21243:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "21243:3:84",
                                    "type": "",
                                    "value": "126"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "21239:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "21239:3:84"
                                },
                                "nativeSrc": "21239:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "21239:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21204:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21204:3:84"
                            },
                            "nativeSrc": "21204:44:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21204:44:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21180:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21180:3:84"
                        },
                        "nativeSrc": "21180:69:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21180:69:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21173:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21173:6:84"
                    },
                    "nativeSrc": "21173:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21173:77:84"
                  },
                  "nativeSrc": "21170:97:84",
                  "nodeType": "YulIf",
                  "src": "21170:97:84"
                },
                {
                  "nativeSrc": "21276:41:84",
                  "nodeType": "YulAssignment",
                  "src": "21276:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "21288:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "21288:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "21298:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "21298:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21284:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21284:3:84"
                    },
                    "nativeSrc": "21284:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21284:33:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "21276:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21276:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr",
            "nativeSrc": "20993:330:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "21065:8:84",
                "nodeType": "YulTypedName",
                "src": "21065:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "21075:11:84",
                "nodeType": "YulTypedName",
                "src": "21075:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "21091:4:84",
                "nodeType": "YulTypedName",
                "src": "21091:4:84",
                "type": ""
              }
            ],
            "src": "20993:330:84"
          },
          {
            "body": {
              "nativeSrc": "21452:97:84",
              "nodeType": "YulBlock",
              "src": "21452:97:84",
              "statements": [
                {
                  "nativeSrc": "21462:26:84",
                  "nodeType": "YulAssignment",
                  "src": "21462:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21474:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21474:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21485:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21485:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21470:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21470:3:84"
                    },
                    "nativeSrc": "21470:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21470:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21462:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21462:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21525:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21525:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "21533:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21533:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "21497:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21497:27:84"
                    },
                    "nativeSrc": "21497:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21497:46:84"
                  },
                  "nativeSrc": "21497:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21497:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "21328:221:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21421:9:84",
                "nodeType": "YulTypedName",
                "src": "21421:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21432:6:84",
                "nodeType": "YulTypedName",
                "src": "21432:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21443:4:84",
                "nodeType": "YulTypedName",
                "src": "21443:4:84",
                "type": ""
              }
            ],
            "src": "21328:221:84"
          },
          {
            "body": {
              "nativeSrc": "21618:425:84",
              "nodeType": "YulBlock",
              "src": "21618:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21667:16:84",
                    "nodeType": "YulBlock",
                    "src": "21667:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21676:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21676:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21679:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21679:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21669:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21669:6:84"
                          },
                          "nativeSrc": "21669:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21669:12:84"
                        },
                        "nativeSrc": "21669:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21669:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21646:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21646:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21654:4:84",
                                "nodeType": "YulLiteral",
                                "src": "21654:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21642:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21642:3:84"
                            },
                            "nativeSrc": "21642:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21642:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "21661:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "21661:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21638:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21638:3:84"
                        },
                        "nativeSrc": "21638:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21638:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21631:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21631:6:84"
                    },
                    "nativeSrc": "21631:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21631:35:84"
                  },
                  "nativeSrc": "21628:55:84",
                  "nodeType": "YulIf",
                  "src": "21628:55:84"
                },
                {
                  "nativeSrc": "21692:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21692:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21708:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21702:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21702:5:84"
                    },
                    "nativeSrc": "21702:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21702:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21696:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21696:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21724:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21724:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21762:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21762:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "21734:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21734:27:84"
                    },
                    "nativeSrc": "21734:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21734:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "21728:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21728:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21774:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21774:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21794:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21794:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21788:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21788:5:84"
                    },
                    "nativeSrc": "21788:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21788:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "21778:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21778:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21826:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21826:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "21834:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21834:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "21806:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "21806:19:84"
                    },
                    "nativeSrc": "21806:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21806:31:84"
                  },
                  "nativeSrc": "21806:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21806:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21853:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21853:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21861:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21861:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21846:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21846:6:84"
                    },
                    "nativeSrc": "21846:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21846:18:84"
                  },
                  "nativeSrc": "21846:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21846:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "21912:16:84",
                    "nodeType": "YulBlock",
                    "src": "21912:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21921:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21921:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21924:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21924:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21914:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21914:6:84"
                          },
                          "nativeSrc": "21914:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21914:12:84"
                        },
                        "nativeSrc": "21914:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21914:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21887:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21887:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "21895:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "21895:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21883:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21883:3:84"
                            },
                            "nativeSrc": "21883:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21883:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21900:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21900:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21879:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21879:3:84"
                        },
                        "nativeSrc": "21879:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21879:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "21907:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "21907:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21876:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21876:2:84"
                    },
                    "nativeSrc": "21876:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21876:35:84"
                  },
                  "nativeSrc": "21873:55:84",
                  "nodeType": "YulIf",
                  "src": "21873:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "21976:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21976:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21984:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21984:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21972:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21972:3:84"
                        },
                        "nativeSrc": "21972:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21972:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "21995:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21995:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22003:4:84",
                            "nodeType": "YulLiteral",
                            "src": "22003:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21991:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21991:3:84"
                        },
                        "nativeSrc": "21991:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21991:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "22010:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "22010:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "21937:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "21937:34:84"
                    },
                    "nativeSrc": "21937:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21937:76:84"
                  },
                  "nativeSrc": "21937:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21937:76:84"
                },
                {
                  "nativeSrc": "22022:15:84",
                  "nodeType": "YulAssignment",
                  "src": "22022:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "22031:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "22031:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "22022:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "22022:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "21554:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "21592:6:84",
                "nodeType": "YulTypedName",
                "src": "21592:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "21600:3:84",
                "nodeType": "YulTypedName",
                "src": "21600:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "21608:5:84",
                "nodeType": "YulTypedName",
                "src": "21608:5:84",
                "type": ""
              }
            ],
            "src": "21554:489:84"
          },
          {
            "body": {
              "nativeSrc": "22139:246:84",
              "nodeType": "YulBlock",
              "src": "22139:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22185:16:84",
                    "nodeType": "YulBlock",
                    "src": "22185:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22194:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22194:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22197:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22197:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22187:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22187:6:84"
                          },
                          "nativeSrc": "22187:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22187:12:84"
                        },
                        "nativeSrc": "22187:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22187:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22160:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22160:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22169:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22169:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22156:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22156:3:84"
                        },
                        "nativeSrc": "22156:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22156:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22181:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22181:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22152:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22152:3:84"
                    },
                    "nativeSrc": "22152:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22152:32:84"
                  },
                  "nativeSrc": "22149:52:84",
                  "nodeType": "YulIf",
                  "src": "22149:52:84"
                },
                {
                  "nativeSrc": "22210:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22210:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22230:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22230:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22224:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "22224:5:84"
                    },
                    "nativeSrc": "22224:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22224:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "22214:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22214:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22283:16:84",
                    "nodeType": "YulBlock",
                    "src": "22283:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22292:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22292:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22295:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22295:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22285:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22285:6:84"
                          },
                          "nativeSrc": "22285:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22285:12:84"
                        },
                        "nativeSrc": "22285:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22285:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "22255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22255:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22263:18:84",
                        "nodeType": "YulLiteral",
                        "src": "22263:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22252:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "22252:2:84"
                    },
                    "nativeSrc": "22252:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22252:30:84"
                  },
                  "nativeSrc": "22249:50:84",
                  "nodeType": "YulIf",
                  "src": "22249:50:84"
                },
                {
                  "nativeSrc": "22308:71:84",
                  "nodeType": "YulAssignment",
                  "src": "22308:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22351:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22351:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "22362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22362:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22347:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22347:3:84"
                        },
                        "nativeSrc": "22347:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22347:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22371:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "22371:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "22318:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "22318:28:84"
                    },
                    "nativeSrc": "22318:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22318:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22308:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22308:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "22048:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22105:9:84",
                "nodeType": "YulTypedName",
                "src": "22105:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22116:7:84",
                "nodeType": "YulTypedName",
                "src": "22116:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22128:6:84",
                "nodeType": "YulTypedName",
                "src": "22128:6:84",
                "type": ""
              }
            ],
            "src": "22048:337:84"
          },
          {
            "body": {
              "nativeSrc": "22539:141:84",
              "nodeType": "YulBlock",
              "src": "22539:141:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22556:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22556:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "22567:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22567:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22549:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22549:6:84"
                    },
                    "nativeSrc": "22549:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22549:25:84"
                  },
                  "nativeSrc": "22549:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22549:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22594:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22594:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22605:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22605:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22590:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22590:3:84"
                        },
                        "nativeSrc": "22590:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22590:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22610:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22610:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22583:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22583:6:84"
                    },
                    "nativeSrc": "22583:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22583:30:84"
                  },
                  "nativeSrc": "22583:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22583:30:84"
                },
                {
                  "nativeSrc": "22622:52:84",
                  "nodeType": "YulAssignment",
                  "src": "22622:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22647:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22647:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22659:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22659:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22670:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22670:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22655:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22655:3:84"
                        },
                        "nativeSrc": "22655:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22655:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "22630:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "22630:16:84"
                    },
                    "nativeSrc": "22630:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22630:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22622:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22622:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "22390:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22500:9:84",
                "nodeType": "YulTypedName",
                "src": "22500:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22511:6:84",
                "nodeType": "YulTypedName",
                "src": "22511:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22519:6:84",
                "nodeType": "YulTypedName",
                "src": "22519:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22530:4:84",
                "nodeType": "YulTypedName",
                "src": "22530:4:84",
                "type": ""
              }
            ],
            "src": "22390:290:84"
          },
          {
            "body": {
              "nativeSrc": "22754:115:84",
              "nodeType": "YulBlock",
              "src": "22754:115:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22800:16:84",
                    "nodeType": "YulBlock",
                    "src": "22800:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22809:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22809:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22812:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22812:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22802:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22802:6:84"
                          },
                          "nativeSrc": "22802:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22802:12:84"
                        },
                        "nativeSrc": "22802:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22802:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22775:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22775:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22784:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22784:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22771:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22771:3:84"
                        },
                        "nativeSrc": "22771:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22771:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22796:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22796:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22767:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22767:3:84"
                    },
                    "nativeSrc": "22767:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22767:32:84"
                  },
                  "nativeSrc": "22764:52:84",
                  "nodeType": "YulIf",
                  "src": "22764:52:84"
                },
                {
                  "nativeSrc": "22825:38:84",
                  "nodeType": "YulAssignment",
                  "src": "22825:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22853:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22853:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "22835:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "22835:17:84"
                    },
                    "nativeSrc": "22835:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22835:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22825:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22825:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "22685:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22720:9:84",
                "nodeType": "YulTypedName",
                "src": "22720:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22731:7:84",
                "nodeType": "YulTypedName",
                "src": "22731:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22743:6:84",
                "nodeType": "YulTypedName",
                "src": "22743:6:84",
                "type": ""
              }
            ],
            "src": "22685:184:84"
          },
          {
            "body": {
              "nativeSrc": "22968:427:84",
              "nodeType": "YulBlock",
              "src": "22968:427:84",
              "statements": [
                {
                  "nativeSrc": "22978:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22978:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "23017:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "23017:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "23004:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "23004:12:84"
                    },
                    "nativeSrc": "23004:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23004:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "22982:18:84",
                      "nodeType": "YulTypedName",
                      "src": "22982:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23118:16:84",
                    "nodeType": "YulBlock",
                    "src": "23118:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23127:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23127:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23130:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23130:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23120:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23120:6:84"
                          },
                          "nativeSrc": "23120:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23120:12:84"
                        },
                        "nativeSrc": "23120:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23120:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "23052:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "23052:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "23080:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "23080:12:84"
                                    },
                                    "nativeSrc": "23080:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "23080:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "23096:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "23096:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "23076:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "23076:3:84"
                                },
                                "nativeSrc": "23076:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "23076:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "23111:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "23111:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "23107:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "23107:3:84"
                                },
                                "nativeSrc": "23107:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "23107:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "23072:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "23072:3:84"
                            },
                            "nativeSrc": "23072:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "23072:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "23048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23048:3:84"
                        },
                        "nativeSrc": "23048:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23048:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23041:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23041:6:84"
                    },
                    "nativeSrc": "23041:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23041:76:84"
                  },
                  "nativeSrc": "23038:96:84",
                  "nodeType": "YulIf",
                  "src": "23038:96:84"
                },
                {
                  "nativeSrc": "23143:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23143:47:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "23161:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "23161:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "23171:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23171:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23157:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23157:3:84"
                    },
                    "nativeSrc": "23157:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23157:33:84"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "23147:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23147:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23199:30:84",
                  "nodeType": "YulAssignment",
                  "src": "23199:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "23222:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23222:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "23209:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "23209:12:84"
                    },
                    "nativeSrc": "23209:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23209:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23199:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23199:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23272:16:84",
                    "nodeType": "YulBlock",
                    "src": "23272:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23281:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23281:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23284:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23284:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23274:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23274:6:84"
                          },
                          "nativeSrc": "23274:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23274:12:84"
                        },
                        "nativeSrc": "23274:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23274:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "23244:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23244:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23252:18:84",
                        "nodeType": "YulLiteral",
                        "src": "23252:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23241:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23241:2:84"
                    },
                    "nativeSrc": "23241:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23241:30:84"
                  },
                  "nativeSrc": "23238:50:84",
                  "nodeType": "YulIf",
                  "src": "23238:50:84"
                },
                {
                  "nativeSrc": "23297:25:84",
                  "nodeType": "YulAssignment",
                  "src": "23297:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "23309:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23309:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23317:4:84",
                        "nodeType": "YulLiteral",
                        "src": "23317:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23305:3:84"
                    },
                    "nativeSrc": "23305:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23305:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "23297:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23297:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23373:16:84",
                    "nodeType": "YulBlock",
                    "src": "23373:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23382:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23382:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23385:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23385:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23375:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23375:6:84"
                          },
                          "nativeSrc": "23375:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23375:12:84"
                        },
                        "nativeSrc": "23375:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23375:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "23338:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23338:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "23348:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "23348:12:84"
                            },
                            "nativeSrc": "23348:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "23348:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "23364:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23364:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "23344:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23344:3:84"
                        },
                        "nativeSrc": "23344:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23344:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "23334:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23334:3:84"
                    },
                    "nativeSrc": "23334:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23334:38:84"
                  },
                  "nativeSrc": "23331:58:84",
                  "nodeType": "YulIf",
                  "src": "23331:58:84"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "22874:521:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "22925:8:84",
                "nodeType": "YulTypedName",
                "src": "22925:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "22935:11:84",
                "nodeType": "YulTypedName",
                "src": "22935:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "22951:4:84",
                "nodeType": "YulTypedName",
                "src": "22951:4:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "22957:6:84",
                "nodeType": "YulTypedName",
                "src": "22957:6:84",
                "type": ""
              }
            ],
            "src": "22874:521:84"
          },
          {
            "body": {
              "nativeSrc": "23640:233:84",
              "nodeType": "YulBlock",
              "src": "23640:233:84",
              "statements": [
                {
                  "nativeSrc": "23650:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23650:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23670:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23670:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23664:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23664:5:84"
                    },
                    "nativeSrc": "23664:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23664:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23654:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23654:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23725:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23725:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23733:4:84",
                            "nodeType": "YulLiteral",
                            "src": "23733:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23721:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23721:3:84"
                        },
                        "nativeSrc": "23721:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23721:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23740:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23740:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23745:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23745:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "23686:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "23686:34:84"
                    },
                    "nativeSrc": "23686:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23686:66:84"
                  },
                  "nativeSrc": "23686:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23686:66:84"
                },
                {
                  "nativeSrc": "23761:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23761:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23778:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23778:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23783:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23783:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23774:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23774:3:84"
                    },
                    "nativeSrc": "23774:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23774:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "23765:5:84",
                      "nodeType": "YulTypedName",
                      "src": "23765:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23806:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23806:5:84"
                      },
                      {
                        "hexValue": "3a20696e76616c6964207265706f72742064617461",
                        "kind": "string",
                        "nativeSrc": "23813:23:84",
                        "nodeType": "YulLiteral",
                        "src": "23813:23:84",
                        "type": "",
                        "value": ": invalid report data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23799:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23799:6:84"
                    },
                    "nativeSrc": "23799:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23799:38:84"
                  },
                  "nativeSrc": "23799:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23799:38:84"
                },
                {
                  "nativeSrc": "23846:21:84",
                  "nodeType": "YulAssignment",
                  "src": "23846:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23857:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23857:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23864:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23864:2:84",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23853:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23853:3:84"
                    },
                    "nativeSrc": "23853:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23853:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23846:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23846:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "23400:473:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23616:3:84",
                "nodeType": "YulTypedName",
                "src": "23616:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23621:6:84",
                "nodeType": "YulTypedName",
                "src": "23621:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23632:3:84",
                "nodeType": "YulTypedName",
                "src": "23632:3:84",
                "type": ""
              }
            ],
            "src": "23400:473:84"
          },
          {
            "body": {
              "nativeSrc": "23933:325:84",
              "nodeType": "YulBlock",
              "src": "23933:325:84",
              "statements": [
                {
                  "nativeSrc": "23943:22:84",
                  "nodeType": "YulAssignment",
                  "src": "23943:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23957:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23957:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23960:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23960:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23953:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23953:3:84"
                    },
                    "nativeSrc": "23953:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23953:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23943:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23943:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23974:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23974:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "24004:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "24004:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24010:1:84",
                        "nodeType": "YulLiteral",
                        "src": "24010:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "24000:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24000:3:84"
                    },
                    "nativeSrc": "24000:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24000:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23978:18:84",
                      "nodeType": "YulTypedName",
                      "src": "23978:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24051:31:84",
                    "nodeType": "YulBlock",
                    "src": "24051:31:84",
                    "statements": [
                      {
                        "nativeSrc": "24053:27:84",
                        "nodeType": "YulAssignment",
                        "src": "24053:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "24067:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24067:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24075:4:84",
                              "nodeType": "YulLiteral",
                              "src": "24075:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "24063:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24063:3:84"
                          },
                          "nativeSrc": "24063:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24063:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "24053:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24053:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "24031:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "24031:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24024:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24024:6:84"
                    },
                    "nativeSrc": "24024:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24024:26:84"
                  },
                  "nativeSrc": "24021:61:84",
                  "nodeType": "YulIf",
                  "src": "24021:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "24141:111:84",
                    "nodeType": "YulBlock",
                    "src": "24141:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24162:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24162:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "24169:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "24169:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "24174:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "24174:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "24165:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24165:3:84"
                              },
                              "nativeSrc": "24165:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24165:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24155:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24155:6:84"
                          },
                          "nativeSrc": "24155:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24155:31:84"
                        },
                        "nativeSrc": "24155:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24155:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24206:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24206:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24209:4:84",
                              "nodeType": "YulLiteral",
                              "src": "24209:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24199:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24199:6:84"
                          },
                          "nativeSrc": "24199:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24199:15:84"
                        },
                        "nativeSrc": "24199:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24199:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24234:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24234:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24237:4:84",
                              "nodeType": "YulLiteral",
                              "src": "24237:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24227:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24227:6:84"
                          },
                          "nativeSrc": "24227:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24227:15:84"
                        },
                        "nativeSrc": "24227:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24227:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "24097:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "24097:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "24120:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24120:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24128:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24128:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "24117:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24117:2:84"
                        },
                        "nativeSrc": "24117:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24117:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "24094:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24094:2:84"
                    },
                    "nativeSrc": "24094:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24094:38:84"
                  },
                  "nativeSrc": "24091:161:84",
                  "nodeType": "YulIf",
                  "src": "24091:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23878:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23913:4:84",
                "nodeType": "YulTypedName",
                "src": "23913:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23922:6:84",
                "nodeType": "YulTypedName",
                "src": "23922:6:84",
                "type": ""
              }
            ],
            "src": "23878:380:84"
          },
          {
            "body": {
              "nativeSrc": "24414:507:84",
              "nodeType": "YulBlock",
              "src": "24414:507:84",
              "statements": [
                {
                  "nativeSrc": "24424:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24424:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24434:2:84",
                    "nodeType": "YulLiteral",
                    "src": "24434:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24428:2:84",
                      "nodeType": "YulTypedName",
                      "src": "24428:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24445:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24445:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24463:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24463:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24474:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24474:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24459:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24459:3:84"
                    },
                    "nativeSrc": "24459:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24459:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "24449:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24449:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24493:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24493:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24504:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24504:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24486:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24486:6:84"
                    },
                    "nativeSrc": "24486:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24486:21:84"
                  },
                  "nativeSrc": "24486:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24486:21:84"
                },
                {
                  "nativeSrc": "24516:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24516:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "24527:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "24527:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "24520:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24520:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24542:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24542:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24562:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24562:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24556:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "24556:5:84"
                    },
                    "nativeSrc": "24556:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24556:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24546:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24546:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "24585:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24585:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24593:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24593:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24578:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24578:6:84"
                    },
                    "nativeSrc": "24578:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24578:22:84"
                  },
                  "nativeSrc": "24578:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24578:22:84"
                },
                {
                  "nativeSrc": "24609:25:84",
                  "nodeType": "YulAssignment",
                  "src": "24609:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24620:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24620:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24631:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24631:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24616:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24616:3:84"
                    },
                    "nativeSrc": "24616:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24616:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "24609:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24609:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24643:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24643:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24661:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24661:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24669:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24669:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24657:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24657:3:84"
                    },
                    "nativeSrc": "24657:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24657:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "24647:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24647:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24681:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24681:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24690:1:84",
                    "nodeType": "YulLiteral",
                    "src": "24690:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "24685:1:84",
                      "nodeType": "YulTypedName",
                      "src": "24685:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24749:146:84",
                    "nodeType": "YulBlock",
                    "src": "24749:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24770:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24770:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "24785:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "24785:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "24779:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24779:5:84"
                                  },
                                  "nativeSrc": "24779:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24779:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24802:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24802:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24807:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24807:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "24798:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "24798:3:84"
                                      },
                                      "nativeSrc": "24798:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "24798:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "24811:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "24811:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "24794:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24794:3:84"
                                  },
                                  "nativeSrc": "24794:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24794:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "24775:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24775:3:84"
                              },
                              "nativeSrc": "24775:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24775:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24763:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24763:6:84"
                          },
                          "nativeSrc": "24763:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24763:52:84"
                        },
                        "nativeSrc": "24763:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24763:52:84"
                      },
                      {
                        "nativeSrc": "24828:19:84",
                        "nodeType": "YulAssignment",
                        "src": "24828:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24839:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24839:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24844:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24844:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24835:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24835:3:84"
                          },
                          "nativeSrc": "24835:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24835:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "24828:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24828:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "24860:25:84",
                        "nodeType": "YulAssignment",
                        "src": "24860:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "24874:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24874:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24882:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24882:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24870:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24870:3:84"
                          },
                          "nativeSrc": "24870:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24870:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "24860:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24860:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "24711:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24711:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24714:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24714:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "24708:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24708:2:84"
                    },
                    "nativeSrc": "24708:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24708:13:84"
                  },
                  "nativeSrc": "24700:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "24722:18:84",
                    "nodeType": "YulBlock",
                    "src": "24722:18:84",
                    "statements": [
                      {
                        "nativeSrc": "24724:14:84",
                        "nodeType": "YulAssignment",
                        "src": "24724:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "24733:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "24733:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24736:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24736:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24729:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24729:3:84"
                          },
                          "nativeSrc": "24729:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24729:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "24724:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "24724:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "24704:3:84",
                    "nodeType": "YulBlock",
                    "src": "24704:3:84",
                    "statements": []
                  },
                  "src": "24700:195:84"
                },
                {
                  "nativeSrc": "24904:11:84",
                  "nodeType": "YulAssignment",
                  "src": "24904:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "24912:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "24912:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24904:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24904:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "24263:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24383:9:84",
                "nodeType": "YulTypedName",
                "src": "24383:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "24394:6:84",
                "nodeType": "YulTypedName",
                "src": "24394:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24405:4:84",
                "nodeType": "YulTypedName",
                "src": "24405:4:84",
                "type": ""
              }
            ],
            "src": "24263:658:84"
          },
          {
            "body": {
              "nativeSrc": "24969:71:84",
              "nodeType": "YulBlock",
              "src": "24969:71:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25018:16:84",
                    "nodeType": "YulBlock",
                    "src": "25018:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25027:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25027:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25030:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25030:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25020:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25020:6:84"
                          },
                          "nativeSrc": "25020:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25020:12:84"
                        },
                        "nativeSrc": "25020:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25020:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24992:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24992:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "25003:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "25003:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25010:4:84",
                                "nodeType": "YulLiteral",
                                "src": "25010:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24999:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24999:3:84"
                            },
                            "nativeSrc": "24999:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24999:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24989:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24989:2:84"
                        },
                        "nativeSrc": "24989:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24989:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24982:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24982:6:84"
                    },
                    "nativeSrc": "24982:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24982:35:84"
                  },
                  "nativeSrc": "24979:55:84",
                  "nodeType": "YulIf",
                  "src": "24979:55:84"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "24926:114:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24958:5:84",
                "nodeType": "YulTypedName",
                "src": "24958:5:84",
                "type": ""
              }
            ],
            "src": "24926:114:84"
          },
          {
            "body": {
              "nativeSrc": "25089:85:84",
              "nodeType": "YulBlock",
              "src": "25089:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25152:16:84",
                    "nodeType": "YulBlock",
                    "src": "25152:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25161:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25161:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25164:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25164:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25154:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25154:6:84"
                          },
                          "nativeSrc": "25154:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25154:12:84"
                        },
                        "nativeSrc": "25154:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25154:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "25112:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "25112:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "25123:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "25123:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25130:18:84",
                                "nodeType": "YulLiteral",
                                "src": "25130:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "25119:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "25119:3:84"
                            },
                            "nativeSrc": "25119:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "25119:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "25109:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "25109:2:84"
                        },
                        "nativeSrc": "25109:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25109:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "25102:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25102:6:84"
                    },
                    "nativeSrc": "25102:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25102:49:84"
                  },
                  "nativeSrc": "25099:69:84",
                  "nodeType": "YulIf",
                  "src": "25099:69:84"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "25045:129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "25078:5:84",
                "nodeType": "YulTypedName",
                "src": "25078:5:84",
                "type": ""
              }
            ],
            "src": "25045:129:84"
          },
          {
            "body": {
              "nativeSrc": "25392:416:84",
              "nodeType": "YulBlock",
              "src": "25392:416:84",
              "statements": [
                {
                  "nativeSrc": "25402:27:84",
                  "nodeType": "YulAssignment",
                  "src": "25402:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25414:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25414:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25425:3:84",
                        "nodeType": "YulLiteral",
                        "src": "25425:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25410:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25410:3:84"
                    },
                    "nativeSrc": "25410:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25410:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25402:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "25402:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25445:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25445:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "25456:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25456:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25438:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25438:6:84"
                    },
                    "nativeSrc": "25438:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25438:25:84"
                  },
                  "nativeSrc": "25438:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25438:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25483:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25483:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25494:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25494:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25479:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25479:3:84"
                        },
                        "nativeSrc": "25479:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25479:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "25499:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25499:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25472:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25472:6:84"
                    },
                    "nativeSrc": "25472:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25472:34:84"
                  },
                  "nativeSrc": "25472:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25472:34:84"
                },
                {
                  "nativeSrc": "25515:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25515:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "25541:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25541:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25528:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25528:12:84"
                    },
                    "nativeSrc": "25528:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25528:20:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25519:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25519:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25580:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25580:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "25557:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "25557:22:84"
                    },
                    "nativeSrc": "25557:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25557:29:84"
                  },
                  "nativeSrc": "25557:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25557:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25606:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25606:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25617:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25617:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25602:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25602:3:84"
                        },
                        "nativeSrc": "25602:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25602:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "25626:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "25626:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25633:4:84",
                            "nodeType": "YulLiteral",
                            "src": "25633:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25622:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25622:3:84"
                        },
                        "nativeSrc": "25622:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25622:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25595:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25595:6:84"
                    },
                    "nativeSrc": "25595:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25595:44:84"
                  },
                  "nativeSrc": "25595:44:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25595:44:84"
                },
                {
                  "nativeSrc": "25648:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25648:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "25680:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25680:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25688:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25688:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25676:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25676:3:84"
                        },
                        "nativeSrc": "25676:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25676:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25663:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25663:12:84"
                    },
                    "nativeSrc": "25663:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25663:29:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "25652:7:84",
                      "nodeType": "YulTypedName",
                      "src": "25652:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "25725:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25725:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "25701:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "25701:23:84"
                    },
                    "nativeSrc": "25701:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25701:32:84"
                  },
                  "nativeSrc": "25701:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25701:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25753:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25753:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25764:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25764:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25749:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25749:3:84"
                        },
                        "nativeSrc": "25749:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25749:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "25773:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25773:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25782:18:84",
                            "nodeType": "YulLiteral",
                            "src": "25782:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25769:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25769:3:84"
                        },
                        "nativeSrc": "25769:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25769:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25742:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25742:6:84"
                    },
                    "nativeSrc": "25742:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25742:60:84"
                  },
                  "nativeSrc": "25742:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25742:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "25179:629:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25345:9:84",
                "nodeType": "YulTypedName",
                "src": "25345:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25356:6:84",
                "nodeType": "YulTypedName",
                "src": "25356:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25364:6:84",
                "nodeType": "YulTypedName",
                "src": "25364:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25372:6:84",
                "nodeType": "YulTypedName",
                "src": "25372:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25383:4:84",
                "nodeType": "YulTypedName",
                "src": "25383:4:84",
                "type": ""
              }
            ],
            "src": "25179:629:84"
          },
          {
            "body": {
              "nativeSrc": "25928:357:84",
              "nodeType": "YulBlock",
              "src": "25928:357:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25974:16:84",
                    "nodeType": "YulBlock",
                    "src": "25974:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25983:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25983:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25986:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25986:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25976:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25976:6:84"
                          },
                          "nativeSrc": "25976:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25976:12:84"
                        },
                        "nativeSrc": "25976:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25976:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "25949:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25949:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "25958:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25958:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "25945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25945:3:84"
                        },
                        "nativeSrc": "25945:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25945:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25970:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25970:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "25941:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25941:3:84"
                    },
                    "nativeSrc": "25941:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25941:32:84"
                  },
                  "nativeSrc": "25938:52:84",
                  "nodeType": "YulIf",
                  "src": "25938:52:84"
                },
                {
                  "nativeSrc": "25999:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25999:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26018:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26018:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26012:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26012:5:84"
                    },
                    "nativeSrc": "26012:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26012:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "26003:5:84",
                      "nodeType": "YulTypedName",
                      "src": "26003:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "26062:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26062:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "26037:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "26037:24:84"
                    },
                    "nativeSrc": "26037:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26037:31:84"
                  },
                  "nativeSrc": "26037:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26037:31:84"
                },
                {
                  "nativeSrc": "26077:15:84",
                  "nodeType": "YulAssignment",
                  "src": "26077:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "26087:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "26087:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26077:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26077:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "26101:39:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26101:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26125:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26125:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26136:2:84",
                            "nodeType": "YulLiteral",
                            "src": "26136:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26121:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26121:3:84"
                        },
                        "nativeSrc": "26121:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26121:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26115:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26115:5:84"
                    },
                    "nativeSrc": "26115:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26115:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26105:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26105:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26183:16:84",
                    "nodeType": "YulBlock",
                    "src": "26183:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26192:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26192:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26195:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26195:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26185:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26185:6:84"
                          },
                          "nativeSrc": "26185:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26185:12:84"
                        },
                        "nativeSrc": "26185:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26185:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26155:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26155:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26163:18:84",
                        "nodeType": "YulLiteral",
                        "src": "26163:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26152:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26152:2:84"
                    },
                    "nativeSrc": "26152:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26152:30:84"
                  },
                  "nativeSrc": "26149:50:84",
                  "nodeType": "YulIf",
                  "src": "26149:50:84"
                },
                {
                  "nativeSrc": "26208:71:84",
                  "nodeType": "YulAssignment",
                  "src": "26208:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26251:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26251:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "26262:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26262:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26247:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26247:3:84"
                        },
                        "nativeSrc": "26247:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26247:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "26271:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "26271:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "26218:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "26218:28:84"
                    },
                    "nativeSrc": "26218:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26218:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "26208:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26208:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "25813:472:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25886:9:84",
                "nodeType": "YulTypedName",
                "src": "25886:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "25897:7:84",
                "nodeType": "YulTypedName",
                "src": "25897:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "25909:6:84",
                "nodeType": "YulTypedName",
                "src": "25909:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25917:6:84",
                "nodeType": "YulTypedName",
                "src": "25917:6:84",
                "type": ""
              }
            ],
            "src": "25813:472:84"
          },
          {
            "body": {
              "nativeSrc": "26396:912:84",
              "nodeType": "YulBlock",
              "src": "26396:912:84",
              "statements": [
                {
                  "nativeSrc": "26406:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26406:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26416:2:84",
                    "nodeType": "YulLiteral",
                    "src": "26416:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26410:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26410:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26463:16:84",
                    "nodeType": "YulBlock",
                    "src": "26463:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26472:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26472:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26475:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26475:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26465:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26465:6:84"
                          },
                          "nativeSrc": "26465:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26465:12:84"
                        },
                        "nativeSrc": "26465:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26465:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26438:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26438:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26447:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26447:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26434:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26434:3:84"
                        },
                        "nativeSrc": "26434:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26434:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26459:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26459:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26430:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26430:3:84"
                    },
                    "nativeSrc": "26430:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26430:32:84"
                  },
                  "nativeSrc": "26427:52:84",
                  "nodeType": "YulIf",
                  "src": "26427:52:84"
                },
                {
                  "nativeSrc": "26488:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26488:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26508:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26508:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26502:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26502:5:84"
                    },
                    "nativeSrc": "26502:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26502:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26492:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26492:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26561:16:84",
                    "nodeType": "YulBlock",
                    "src": "26561:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26570:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26570:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26573:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26573:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26563:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26563:6:84"
                          },
                          "nativeSrc": "26563:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26563:12:84"
                        },
                        "nativeSrc": "26563:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26563:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26533:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26533:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26541:18:84",
                        "nodeType": "YulLiteral",
                        "src": "26541:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26530:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26530:2:84"
                    },
                    "nativeSrc": "26530:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26530:30:84"
                  },
                  "nativeSrc": "26527:50:84",
                  "nodeType": "YulIf",
                  "src": "26527:50:84"
                },
                {
                  "nativeSrc": "26586:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26586:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26600:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26600:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "26611:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26611:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26596:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26596:3:84"
                    },
                    "nativeSrc": "26596:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26596:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26590:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26590:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26666:16:84",
                    "nodeType": "YulBlock",
                    "src": "26666:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26675:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26675:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26678:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26678:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26668:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26668:6:84"
                          },
                          "nativeSrc": "26668:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26668:12:84"
                        },
                        "nativeSrc": "26668:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26668:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "26645:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26645:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26649:4:84",
                                "nodeType": "YulLiteral",
                                "src": "26649:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26641:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26641:3:84"
                            },
                            "nativeSrc": "26641:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26641:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26656:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26656:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26637:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26637:3:84"
                        },
                        "nativeSrc": "26637:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26637:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26630:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26630:6:84"
                    },
                    "nativeSrc": "26630:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26630:35:84"
                  },
                  "nativeSrc": "26627:55:84",
                  "nodeType": "YulIf",
                  "src": "26627:55:84"
                },
                {
                  "nativeSrc": "26691:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26691:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26707:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26707:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26701:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26701:5:84"
                    },
                    "nativeSrc": "26701:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26701:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "26695:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26695:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26719:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26719:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "26769:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26769:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "26729:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "26729:39:84"
                    },
                    "nativeSrc": "26729:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26729:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "26723:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26723:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26781:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26781:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26801:2:84",
                        "nodeType": "YulLiteral",
                        "src": "26801:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26795:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26795:5:84"
                    },
                    "nativeSrc": "26795:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26795:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26785:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26785:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26833:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26833:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "26841:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26841:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "26813:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "26813:19:84"
                    },
                    "nativeSrc": "26813:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26813:31:84"
                  },
                  "nativeSrc": "26813:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26813:31:84"
                },
                {
                  "nativeSrc": "26853:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26853:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26864:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "26864:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "26857:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26857:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26886:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26886:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "26894:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26894:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26879:6:84"
                    },
                    "nativeSrc": "26879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26879:18:84"
                  },
                  "nativeSrc": "26879:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26879:18:84"
                },
                {
                  "nativeSrc": "26906:22:84",
                  "nodeType": "YulAssignment",
                  "src": "26906:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26917:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26917:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26925:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26925:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26913:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26913:3:84"
                    },
                    "nativeSrc": "26913:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26913:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "26906:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26906:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "26937:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26937:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "26959:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26959:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26967:1:84",
                                "nodeType": "YulLiteral",
                                "src": "26967:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "26970:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26970:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26963:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26963:3:84"
                            },
                            "nativeSrc": "26963:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26963:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26955:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26955:3:84"
                        },
                        "nativeSrc": "26955:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26955:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26976:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26976:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26951:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26951:3:84"
                    },
                    "nativeSrc": "26951:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26951:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "26941:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26941:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27011:16:84",
                    "nodeType": "YulBlock",
                    "src": "27011:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27020:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27020:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27023:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27023:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27013:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27013:6:84"
                          },
                          "nativeSrc": "27013:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27013:12:84"
                        },
                        "nativeSrc": "27013:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27013:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26994:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26994:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "27002:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "27002:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26991:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26991:2:84"
                    },
                    "nativeSrc": "26991:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26991:19:84"
                  },
                  "nativeSrc": "26988:39:84",
                  "nodeType": "YulIf",
                  "src": "26988:39:84"
                },
                {
                  "nativeSrc": "27036:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27036:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "27051:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "27051:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "27055:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "27055:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27047:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27047:3:84"
                    },
                    "nativeSrc": "27047:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27047:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "27040:3:84",
                      "nodeType": "YulTypedName",
                      "src": "27040:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27123:154:84",
                    "nodeType": "YulBlock",
                    "src": "27123:154:84",
                    "statements": [
                      {
                        "nativeSrc": "27137:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "27137:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "27156:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27156:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "27150:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "27150:5:84"
                          },
                          "nativeSrc": "27150:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27150:10:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "27141:5:84",
                            "nodeType": "YulTypedName",
                            "src": "27141:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "27198:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "27198:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "27173:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "27173:24:84"
                          },
                          "nativeSrc": "27173:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27173:31:84"
                        },
                        "nativeSrc": "27173:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27173:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "27224:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27224:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "27229:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "27229:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "27217:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27217:6:84"
                          },
                          "nativeSrc": "27217:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27217:18:84"
                        },
                        "nativeSrc": "27217:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27217:18:84"
                      },
                      {
                        "nativeSrc": "27248:19:84",
                        "nodeType": "YulAssignment",
                        "src": "27248:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "27259:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27259:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "27264:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "27264:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "27255:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "27255:3:84"
                          },
                          "nativeSrc": "27255:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27255:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "27248:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "27248:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "27078:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27078:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "27083:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "27083:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "27075:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "27075:2:84"
                    },
                    "nativeSrc": "27075:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27075:15:84"
                  },
                  "nativeSrc": "27067:210:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "27091:23:84",
                    "nodeType": "YulBlock",
                    "src": "27091:23:84",
                    "statements": [
                      {
                        "nativeSrc": "27093:19:84",
                        "nodeType": "YulAssignment",
                        "src": "27093:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "27104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27104:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "27109:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "27109:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "27100:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "27100:3:84"
                          },
                          "nativeSrc": "27100:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27100:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "27093:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "27093:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "27071:3:84",
                    "nodeType": "YulBlock",
                    "src": "27071:3:84",
                    "statements": []
                  },
                  "src": "27067:210:84"
                },
                {
                  "nativeSrc": "27286:16:84",
                  "nodeType": "YulAssignment",
                  "src": "27286:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27296:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "27296:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27286:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27286:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "26290:1018:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26362:9:84",
                "nodeType": "YulTypedName",
                "src": "26362:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26373:7:84",
                "nodeType": "YulTypedName",
                "src": "26373:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26385:6:84",
                "nodeType": "YulTypedName",
                "src": "26385:6:84",
                "type": ""
              }
            ],
            "src": "26290:1018:84"
          },
          {
            "body": {
              "nativeSrc": "27393:210:84",
              "nodeType": "YulBlock",
              "src": "27393:210:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27439:16:84",
                    "nodeType": "YulBlock",
                    "src": "27439:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27448:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27448:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27451:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27451:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27441:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27441:6:84"
                          },
                          "nativeSrc": "27441:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27441:12:84"
                        },
                        "nativeSrc": "27441:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27441:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27414:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27414:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27423:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27423:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27410:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27410:3:84"
                        },
                        "nativeSrc": "27410:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27410:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27435:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27435:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27406:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27406:3:84"
                    },
                    "nativeSrc": "27406:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27406:32:84"
                  },
                  "nativeSrc": "27403:52:84",
                  "nodeType": "YulIf",
                  "src": "27403:52:84"
                },
                {
                  "nativeSrc": "27464:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27464:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27483:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27483:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27477:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27477:5:84"
                    },
                    "nativeSrc": "27477:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27477:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27468:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27468:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27557:16:84",
                    "nodeType": "YulBlock",
                    "src": "27557:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27566:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27566:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27569:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27569:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27559:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27559:6:84"
                          },
                          "nativeSrc": "27559:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27559:12:84"
                        },
                        "nativeSrc": "27559:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27559:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "27515:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "27515:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "27526:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "27526:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27537:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27537:3:84",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27542:10:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27542:10:84",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "27533:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27533:3:84"
                                },
                                "nativeSrc": "27533:20:84",
                                "nodeType": "YulFunctionCall",
                                "src": "27533:20:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "27522:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27522:3:84"
                            },
                            "nativeSrc": "27522:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27522:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "27512:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "27512:2:84"
                        },
                        "nativeSrc": "27512:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27512:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27505:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27505:6:84"
                    },
                    "nativeSrc": "27505:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27505:51:84"
                  },
                  "nativeSrc": "27502:71:84",
                  "nodeType": "YulIf",
                  "src": "27502:71:84"
                },
                {
                  "nativeSrc": "27582:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27582:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27592:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27592:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27582:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27582:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "27313:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27359:9:84",
                "nodeType": "YulTypedName",
                "src": "27359:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27370:7:84",
                "nodeType": "YulTypedName",
                "src": "27370:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27382:6:84",
                "nodeType": "YulTypedName",
                "src": "27382:6:84",
                "type": ""
              }
            ],
            "src": "27313:290:84"
          },
          {
            "body": {
              "nativeSrc": "27709:170:84",
              "nodeType": "YulBlock",
              "src": "27709:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27755:16:84",
                    "nodeType": "YulBlock",
                    "src": "27755:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27764:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27764:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27767:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27767:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27757:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27757:6:84"
                          },
                          "nativeSrc": "27757:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27757:12:84"
                        },
                        "nativeSrc": "27757:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27757:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27730:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27730:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27739:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27739:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27726:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27726:3:84"
                        },
                        "nativeSrc": "27726:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27726:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27751:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27751:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27722:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27722:3:84"
                    },
                    "nativeSrc": "27722:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27722:32:84"
                  },
                  "nativeSrc": "27719:52:84",
                  "nodeType": "YulIf",
                  "src": "27719:52:84"
                },
                {
                  "nativeSrc": "27780:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27780:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27799:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27799:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27793:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27793:5:84"
                    },
                    "nativeSrc": "27793:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27793:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27784:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27784:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27843:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27843:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27818:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27818:24:84"
                    },
                    "nativeSrc": "27818:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27818:31:84"
                  },
                  "nativeSrc": "27818:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27818:31:84"
                },
                {
                  "nativeSrc": "27858:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27858:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27868:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27868:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27858:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27858:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory",
            "nativeSrc": "27608:271:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27675:9:84",
                "nodeType": "YulTypedName",
                "src": "27675:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27686:7:84",
                "nodeType": "YulTypedName",
                "src": "27686:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27698:6:84",
                "nodeType": "YulTypedName",
                "src": "27698:6:84",
                "type": ""
              }
            ],
            "src": "27608:271:84"
          },
          {
            "body": {
              "nativeSrc": "27995:170:84",
              "nodeType": "YulBlock",
              "src": "27995:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28041:16:84",
                    "nodeType": "YulBlock",
                    "src": "28041:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28050:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28050:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28053:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28053:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28043:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28043:6:84"
                          },
                          "nativeSrc": "28043:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28043:12:84"
                        },
                        "nativeSrc": "28043:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28043:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28016:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28016:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28025:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28025:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28012:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28012:3:84"
                        },
                        "nativeSrc": "28012:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28012:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28037:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28037:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28008:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28008:3:84"
                    },
                    "nativeSrc": "28008:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28008:32:84"
                  },
                  "nativeSrc": "28005:52:84",
                  "nodeType": "YulIf",
                  "src": "28005:52:84"
                },
                {
                  "nativeSrc": "28066:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28066:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28085:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28085:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28079:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28079:5:84"
                    },
                    "nativeSrc": "28079:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28079:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "28070:5:84",
                      "nodeType": "YulTypedName",
                      "src": "28070:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "28129:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "28129:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "28104:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "28104:24:84"
                    },
                    "nativeSrc": "28104:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28104:31:84"
                  },
                  "nativeSrc": "28104:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28104:31:84"
                },
                {
                  "nativeSrc": "28144:15:84",
                  "nodeType": "YulAssignment",
                  "src": "28144:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "28154:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "28154:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "28144:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28144:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory",
            "nativeSrc": "27884:281:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27961:9:84",
                "nodeType": "YulTypedName",
                "src": "27961:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27972:7:84",
                "nodeType": "YulTypedName",
                "src": "27972:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27984:6:84",
                "nodeType": "YulTypedName",
                "src": "27984:6:84",
                "type": ""
              }
            ],
            "src": "27884:281:84"
          },
          {
            "body": {
              "nativeSrc": "28397:351:84",
              "nodeType": "YulBlock",
              "src": "28397:351:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28414:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28414:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28429:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28429:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28445:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28445:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28450:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28450:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "28441:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28441:3:84"
                                },
                                "nativeSrc": "28441:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28441:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28454:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28454:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "28437:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28437:3:84"
                            },
                            "nativeSrc": "28437:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28437:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28425:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28425:3:84"
                        },
                        "nativeSrc": "28425:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28425:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28407:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28407:6:84"
                    },
                    "nativeSrc": "28407:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28407:51:84"
                  },
                  "nativeSrc": "28407:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28407:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28478:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28478:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28489:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28489:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28474:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28474:3:84"
                        },
                        "nativeSrc": "28474:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28474:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28494:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28494:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28467:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28467:6:84"
                    },
                    "nativeSrc": "28467:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28467:30:84"
                  },
                  "nativeSrc": "28467:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28467:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28517:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28517:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28528:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28528:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28513:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28513:3:84"
                        },
                        "nativeSrc": "28513:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28513:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28533:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28533:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28506:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28506:6:84"
                    },
                    "nativeSrc": "28506:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28506:34:84"
                  },
                  "nativeSrc": "28506:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28506:34:84"
                },
                {
                  "body": {
                    "nativeSrc": "28584:16:84",
                    "nodeType": "YulBlock",
                    "src": "28584:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28593:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28593:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28596:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28596:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28586:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28586:6:84"
                          },
                          "nativeSrc": "28586:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28586:12:84"
                        },
                        "nativeSrc": "28586:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28586:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "28555:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28555:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28571:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28571:3:84",
                                "type": "",
                                "value": "251"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28576:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28576:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28567:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28567:3:84"
                            },
                            "nativeSrc": "28567:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28567:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28580:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28580:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28563:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28563:3:84"
                        },
                        "nativeSrc": "28563:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28563:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28552:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28552:2:84"
                    },
                    "nativeSrc": "28552:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28552:31:84"
                  },
                  "nativeSrc": "28549:51:84",
                  "nodeType": "YulIf",
                  "src": "28549:51:84"
                },
                {
                  "nativeSrc": "28609:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28609:28:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28627:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28627:1:84",
                        "type": "",
                        "value": "5"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28630:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28630:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "shl",
                      "nativeSrc": "28623:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28623:3:84"
                    },
                    "nativeSrc": "28623:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28623:14:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28613:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28613:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28663:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28663:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28674:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28674:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28659:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28659:3:84"
                        },
                        "nativeSrc": "28659:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28659:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "28679:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28679:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28687:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28687:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28646:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28646:12:84"
                    },
                    "nativeSrc": "28646:48:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28646:48:84"
                  },
                  "nativeSrc": "28646:48:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28646:48:84"
                },
                {
                  "nativeSrc": "28703:39:84",
                  "nodeType": "YulAssignment",
                  "src": "28703:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28719:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28719:9:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28730:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28730:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28715:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28715:3:84"
                        },
                        "nativeSrc": "28715:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28715:22:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28739:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28739:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28711:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28711:3:84"
                    },
                    "nativeSrc": "28711:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28711:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28703:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28703:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "28170:578:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28350:9:84",
                "nodeType": "YulTypedName",
                "src": "28350:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "28361:6:84",
                "nodeType": "YulTypedName",
                "src": "28361:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28369:6:84",
                "nodeType": "YulTypedName",
                "src": "28369:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28377:6:84",
                "nodeType": "YulTypedName",
                "src": "28377:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28388:4:84",
                "nodeType": "YulTypedName",
                "src": "28388:4:84",
                "type": ""
              }
            ],
            "src": "28170:578:84"
          },
          {
            "body": {
              "nativeSrc": "28868:1080:84",
              "nodeType": "YulBlock",
              "src": "28868:1080:84",
              "statements": [
                {
                  "nativeSrc": "28878:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28878:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28888:2:84",
                    "nodeType": "YulLiteral",
                    "src": "28888:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "28882:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28882:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28935:16:84",
                    "nodeType": "YulBlock",
                    "src": "28935:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28944:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28944:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28947:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28947:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28937:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28937:6:84"
                          },
                          "nativeSrc": "28937:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28937:12:84"
                        },
                        "nativeSrc": "28937:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28937:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28910:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28910:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28919:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28919:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28906:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28906:3:84"
                        },
                        "nativeSrc": "28906:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28906:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "28931:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28931:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28902:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28902:3:84"
                    },
                    "nativeSrc": "28902:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28902:32:84"
                  },
                  "nativeSrc": "28899:52:84",
                  "nodeType": "YulIf",
                  "src": "28899:52:84"
                },
                {
                  "nativeSrc": "28960:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28960:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28980:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28980:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28974:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28974:5:84"
                    },
                    "nativeSrc": "28974:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28974:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "28964:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28964:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28999:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28999:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29009:18:84",
                    "nodeType": "YulLiteral",
                    "src": "29009:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "29003:2:84",
                      "nodeType": "YulTypedName",
                      "src": "29003:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29054:16:84",
                    "nodeType": "YulBlock",
                    "src": "29054:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29063:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29063:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29066:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29066:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29056:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29056:6:84"
                          },
                          "nativeSrc": "29056:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29056:12:84"
                        },
                        "nativeSrc": "29056:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29056:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "29042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29042:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "29050:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29050:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29039:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29039:2:84"
                    },
                    "nativeSrc": "29039:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29039:14:84"
                  },
                  "nativeSrc": "29036:34:84",
                  "nodeType": "YulIf",
                  "src": "29036:34:84"
                },
                {
                  "nativeSrc": "29079:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29079:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29093:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29093:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "29104:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29104:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29089:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29089:3:84"
                    },
                    "nativeSrc": "29089:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29089:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "29083:2:84",
                      "nodeType": "YulTypedName",
                      "src": "29083:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29159:16:84",
                    "nodeType": "YulBlock",
                    "src": "29159:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29168:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29168:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29171:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29171:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29161:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29161:6:84"
                          },
                          "nativeSrc": "29161:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29161:12:84"
                        },
                        "nativeSrc": "29161:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29161:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "29138:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "29138:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "29142:4:84",
                                "nodeType": "YulLiteral",
                                "src": "29142:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29134:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29134:3:84"
                            },
                            "nativeSrc": "29134:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29134:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "29149:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "29149:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "29130:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29130:3:84"
                        },
                        "nativeSrc": "29130:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29130:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "29123:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29123:6:84"
                    },
                    "nativeSrc": "29123:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29123:35:84"
                  },
                  "nativeSrc": "29120:55:84",
                  "nodeType": "YulIf",
                  "src": "29120:55:84"
                },
                {
                  "nativeSrc": "29184:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29184:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "29200:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29200:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29194:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29194:5:84"
                    },
                    "nativeSrc": "29194:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29194:9:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "29188:2:84",
                      "nodeType": "YulTypedName",
                      "src": "29188:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29212:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29212:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "29262:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29262:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "29222:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "29222:39:84"
                    },
                    "nativeSrc": "29222:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29222:43:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "29216:2:84",
                      "nodeType": "YulTypedName",
                      "src": "29216:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29274:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29274:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "29294:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29294:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29288:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29288:5:84"
                    },
                    "nativeSrc": "29288:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29288:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "29278:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29278:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29326:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29326:6:84"
                      },
                      {
                        "name": "_5",
                        "nativeSrc": "29334:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29334:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "29306:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "29306:19:84"
                    },
                    "nativeSrc": "29306:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29306:31:84"
                  },
                  "nativeSrc": "29306:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29306:31:84"
                },
                {
                  "nativeSrc": "29346:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29346:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29357:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29357:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "29350:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29350:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29379:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29379:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "29387:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29387:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29372:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29372:6:84"
                    },
                    "nativeSrc": "29372:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29372:18:84"
                  },
                  "nativeSrc": "29372:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29372:18:84"
                },
                {
                  "nativeSrc": "29399:22:84",
                  "nodeType": "YulAssignment",
                  "src": "29399:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29410:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29410:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29418:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29418:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29406:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29406:3:84"
                    },
                    "nativeSrc": "29406:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29406:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "29399:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29399:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29430:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29430:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "29452:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29452:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29460:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29460:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_4",
                                "nativeSrc": "29463:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "29463:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29456:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29456:3:84"
                            },
                            "nativeSrc": "29456:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29456:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29448:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29448:3:84"
                        },
                        "nativeSrc": "29448:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29448:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29469:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29469:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29444:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29444:3:84"
                    },
                    "nativeSrc": "29444:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29444:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "29434:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29434:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29504:16:84",
                    "nodeType": "YulBlock",
                    "src": "29504:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29513:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29513:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29516:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29516:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29506:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29506:6:84"
                          },
                          "nativeSrc": "29506:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29506:12:84"
                        },
                        "nativeSrc": "29506:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29506:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29487:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29487:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "29495:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29495:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29484:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29484:2:84"
                    },
                    "nativeSrc": "29484:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29484:19:84"
                  },
                  "nativeSrc": "29481:39:84",
                  "nodeType": "YulIf",
                  "src": "29481:39:84"
                },
                {
                  "nativeSrc": "29529:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29529:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "29544:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29544:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29548:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29548:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29540:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29540:3:84"
                    },
                    "nativeSrc": "29540:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29540:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "29533:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29533:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29616:301:84",
                    "nodeType": "YulBlock",
                    "src": "29616:301:84",
                    "statements": [
                      {
                        "nativeSrc": "29630:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29630:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29655:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29655:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "29649:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "29649:5:84"
                          },
                          "nativeSrc": "29649:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29649:10:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "29634:11:84",
                            "nodeType": "YulTypedName",
                            "src": "29634:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "29707:74:84",
                          "nodeType": "YulBlock",
                          "src": "29707:74:84",
                          "statements": [
                            {
                              "nativeSrc": "29725:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "29725:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "29735:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29735:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "29729:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "29729:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29760:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29760:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29764:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29764:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "29753:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29753:6:84"
                                },
                                "nativeSrc": "29753:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "29753:14:84"
                              },
                              "nativeSrc": "29753:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "29753:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "29678:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "29678:11:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "29691:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29691:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "29675:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29675:2:84"
                          },
                          "nativeSrc": "29675:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29675:19:84"
                        },
                        "nativeSrc": "29672:109:84",
                        "nodeType": "YulIf",
                        "src": "29672:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29801:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29801:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "29843:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29843:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "29847:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29847:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "29839:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "29839:3:84"
                                      },
                                      "nativeSrc": "29839:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "29839:20:84"
                                    },
                                    {
                                      "name": "_1",
                                      "nativeSrc": "29861:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29861:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "29835:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29835:3:84"
                                  },
                                  "nativeSrc": "29835:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29835:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "29866:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29866:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "29806:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "29806:28:84"
                              },
                              "nativeSrc": "29806:68:84",
                              "nodeType": "YulFunctionCall",
                              "src": "29806:68:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29794:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29794:6:84"
                          },
                          "nativeSrc": "29794:81:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29794:81:84"
                        },
                        "nativeSrc": "29794:81:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29794:81:84"
                      },
                      {
                        "nativeSrc": "29888:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29888:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29899:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29899:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29904:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29904:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29895:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29895:3:84"
                          },
                          "nativeSrc": "29895:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29895:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "29888:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29888:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "29571:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29571:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29576:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29576:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29568:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29568:2:84"
                    },
                    "nativeSrc": "29568:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29568:15:84"
                  },
                  "nativeSrc": "29560:357:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29584:23:84",
                    "nodeType": "YulBlock",
                    "src": "29584:23:84",
                    "statements": [
                      {
                        "nativeSrc": "29586:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29586:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29597:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29597:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29602:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29602:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29593:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29593:3:84"
                          },
                          "nativeSrc": "29593:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29593:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "29586:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29586:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29564:3:84",
                    "nodeType": "YulBlock",
                    "src": "29564:3:84",
                    "statements": []
                  },
                  "src": "29560:357:84"
                },
                {
                  "nativeSrc": "29926:16:84",
                  "nodeType": "YulAssignment",
                  "src": "29926:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29936:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29936:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29926:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29926:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "28753:1195:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28834:9:84",
                "nodeType": "YulTypedName",
                "src": "28834:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28845:7:84",
                "nodeType": "YulTypedName",
                "src": "28845:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28857:6:84",
                "nodeType": "YulTypedName",
                "src": "28857:6:84",
                "type": ""
              }
            ],
            "src": "28753:1195:84"
          },
          {
            "body": {
              "nativeSrc": "30127:231:84",
              "nodeType": "YulBlock",
              "src": "30127:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30144:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30144:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30155:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30155:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30137:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30137:6:84"
                    },
                    "nativeSrc": "30137:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30137:21:84"
                  },
                  "nativeSrc": "30137:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30137:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30178:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30178:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30189:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30189:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30174:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30174:3:84"
                        },
                        "nativeSrc": "30174:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30174:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30194:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30194:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30167:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30167:6:84"
                    },
                    "nativeSrc": "30167:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30167:30:84"
                  },
                  "nativeSrc": "30167:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30167:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30217:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30217:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30228:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30228:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30213:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30213:3:84"
                        },
                        "nativeSrc": "30213:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30213:18:84"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "30233:34:84",
                        "nodeType": "YulLiteral",
                        "src": "30233:34:84",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30206:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30206:6:84"
                    },
                    "nativeSrc": "30206:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30206:62:84"
                  },
                  "nativeSrc": "30206:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30206:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30288:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30288:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30299:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30299:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30284:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30284:3:84"
                        },
                        "nativeSrc": "30284:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30284:18:84"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "30304:11:84",
                        "nodeType": "YulLiteral",
                        "src": "30304:11:84",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30277:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30277:6:84"
                    },
                    "nativeSrc": "30277:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30277:39:84"
                  },
                  "nativeSrc": "30277:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30277:39:84"
                },
                {
                  "nativeSrc": "30325:27:84",
                  "nodeType": "YulAssignment",
                  "src": "30325:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30337:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30337:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30348:3:84",
                        "nodeType": "YulLiteral",
                        "src": "30348:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30333:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30333:3:84"
                    },
                    "nativeSrc": "30333:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30333:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30325:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30325:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "29953:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30104:9:84",
                "nodeType": "YulTypedName",
                "src": "30104:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30118:4:84",
                "nodeType": "YulTypedName",
                "src": "30118:4:84",
                "type": ""
              }
            ],
            "src": "29953:405:84"
          },
          {
            "body": {
              "nativeSrc": "30492:145:84",
              "nodeType": "YulBlock",
              "src": "30492:145:84",
              "statements": [
                {
                  "nativeSrc": "30502:26:84",
                  "nodeType": "YulAssignment",
                  "src": "30502:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30514:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30514:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30525:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30525:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30510:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30510:3:84"
                    },
                    "nativeSrc": "30510:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30510:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30502:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30502:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30544:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30544:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30559:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30559:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30575:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30575:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30580:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30580:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "30571:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30571:3:84"
                                },
                                "nativeSrc": "30571:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30571:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30584:1:84",
                                "nodeType": "YulLiteral",
                                "src": "30584:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "30567:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30567:3:84"
                            },
                            "nativeSrc": "30567:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30567:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30555:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30555:3:84"
                        },
                        "nativeSrc": "30555:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30555:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30537:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30537:6:84"
                    },
                    "nativeSrc": "30537:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30537:51:84"
                  },
                  "nativeSrc": "30537:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30537:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30608:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30608:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30619:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30619:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30604:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30604:3:84"
                        },
                        "nativeSrc": "30604:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30604:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "30624:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30624:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30597:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30597:6:84"
                    },
                    "nativeSrc": "30597:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30597:34:84"
                  },
                  "nativeSrc": "30597:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30597:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
            "nativeSrc": "30363:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30453:9:84",
                "nodeType": "YulTypedName",
                "src": "30453:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30464:6:84",
                "nodeType": "YulTypedName",
                "src": "30464:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30472:6:84",
                "nodeType": "YulTypedName",
                "src": "30472:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30483:4:84",
                "nodeType": "YulTypedName",
                "src": "30483:4:84",
                "type": ""
              }
            ],
            "src": "30363:274:84"
          },
          {
            "body": {
              "nativeSrc": "30690:123:84",
              "nodeType": "YulBlock",
              "src": "30690:123:84",
              "statements": [
                {
                  "nativeSrc": "30700:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30700:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30710:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30710:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30704:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30704:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30725:35:84",
                  "nodeType": "YulAssignment",
                  "src": "30725:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30741:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30741:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30744:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30744:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30737:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30737:3:84"
                        },
                        "nativeSrc": "30737:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30737:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "30753:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30753:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30756:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30756:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30749:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30749:3:84"
                        },
                        "nativeSrc": "30749:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30749:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "30733:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30733:3:84"
                    },
                    "nativeSrc": "30733:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30733:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "30725:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30725:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30785:22:84",
                    "nodeType": "YulBlock",
                    "src": "30785:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30787:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30787:16:84"
                          },
                          "nativeSrc": "30787:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30787:18:84"
                        },
                        "nativeSrc": "30787:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30787:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "30775:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "30775:4:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30781:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30781:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30772:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30772:2:84"
                    },
                    "nativeSrc": "30772:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30772:12:84"
                  },
                  "nativeSrc": "30769:38:84",
                  "nodeType": "YulIf",
                  "src": "30769:38:84"
                }
              ]
            },
            "name": "checked_sub_t_uint16",
            "nativeSrc": "30642:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30672:1:84",
                "nodeType": "YulTypedName",
                "src": "30672:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30675:1:84",
                "nodeType": "YulTypedName",
                "src": "30675:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "30681:4:84",
                "nodeType": "YulTypedName",
                "src": "30681:4:84",
                "type": ""
              }
            ],
            "src": "30642:171:84"
          },
          {
            "body": {
              "nativeSrc": "30863:142:84",
              "nodeType": "YulBlock",
              "src": "30863:142:84",
              "statements": [
                {
                  "nativeSrc": "30873:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30873:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30883:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30883:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30877:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30877:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30898:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30898:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "30913:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30913:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30916:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30916:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "30909:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30909:3:84"
                    },
                    "nativeSrc": "30909:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30909:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "30902:3:84",
                      "nodeType": "YulTypedName",
                      "src": "30902:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30943:22:84",
                    "nodeType": "YulBlock",
                    "src": "30943:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "30945:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30945:16:84"
                          },
                          "nativeSrc": "30945:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30945:18:84"
                        },
                        "nativeSrc": "30945:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30945:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "30938:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30938:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30931:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30931:6:84"
                    },
                    "nativeSrc": "30931:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30931:11:84"
                  },
                  "nativeSrc": "30928:37:84",
                  "nodeType": "YulIf",
                  "src": "30928:37:84"
                },
                {
                  "nativeSrc": "30974:25:84",
                  "nodeType": "YulAssignment",
                  "src": "30974:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30987:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30987:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30990:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30990:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30983:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30983:3:84"
                        },
                        "nativeSrc": "30983:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30983:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "30995:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30995:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "30979:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30979:3:84"
                    },
                    "nativeSrc": "30979:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30979:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "30974:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "30974:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint16",
            "nativeSrc": "30818:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30848:1:84",
                "nodeType": "YulTypedName",
                "src": "30848:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30851:1:84",
                "nodeType": "YulTypedName",
                "src": "30851:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "30857:1:84",
                "nodeType": "YulTypedName",
                "src": "30857:1:84",
                "type": ""
              }
            ],
            "src": "30818:187:84"
          },
          {
            "body": {
              "nativeSrc": "31057:121:84",
              "nodeType": "YulBlock",
              "src": "31057:121:84",
              "statements": [
                {
                  "nativeSrc": "31067:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31067:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "31077:6:84",
                    "nodeType": "YulLiteral",
                    "src": "31077:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "31071:2:84",
                      "nodeType": "YulTypedName",
                      "src": "31071:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31092:34:84",
                  "nodeType": "YulAssignment",
                  "src": "31092:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "31107:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "31107:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31110:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31110:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31103:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31103:3:84"
                        },
                        "nativeSrc": "31103:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31103:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "31119:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "31119:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31122:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31122:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31115:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31115:3:84"
                        },
                        "nativeSrc": "31115:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31115:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31099:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31099:3:84"
                    },
                    "nativeSrc": "31099:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31099:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "31092:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31092:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31150:22:84",
                    "nodeType": "YulBlock",
                    "src": "31150:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "31152:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "31152:16:84"
                          },
                          "nativeSrc": "31152:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31152:18:84"
                        },
                        "nativeSrc": "31152:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31152:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "31141:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31141:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "31146:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "31146:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31138:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31138:2:84"
                    },
                    "nativeSrc": "31138:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31138:11:84"
                  },
                  "nativeSrc": "31135:37:84",
                  "nodeType": "YulIf",
                  "src": "31135:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "31010:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "31040:1:84",
                "nodeType": "YulTypedName",
                "src": "31040:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "31043:1:84",
                "nodeType": "YulTypedName",
                "src": "31043:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "31049:3:84",
                "nodeType": "YulTypedName",
                "src": "31049:3:84",
                "type": ""
              }
            ],
            "src": "31010:168:84"
          },
          {
            "body": {
              "nativeSrc": "31263:169:84",
              "nodeType": "YulBlock",
              "src": "31263:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31309:16:84",
                    "nodeType": "YulBlock",
                    "src": "31309:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31318:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31318:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31321:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31321:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31311:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31311:6:84"
                          },
                          "nativeSrc": "31311:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31311:12:84"
                        },
                        "nativeSrc": "31311:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31311:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31284:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31284:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31293:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31293:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31280:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31280:3:84"
                        },
                        "nativeSrc": "31280:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31280:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31305:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31305:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31276:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31276:3:84"
                    },
                    "nativeSrc": "31276:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31276:32:84"
                  },
                  "nativeSrc": "31273:52:84",
                  "nodeType": "YulIf",
                  "src": "31273:52:84"
                },
                {
                  "nativeSrc": "31334:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31334:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31353:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31353:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31347:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31347:5:84"
                    },
                    "nativeSrc": "31347:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31347:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31338:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31338:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "31396:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31396:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "31372:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "31372:23:84"
                    },
                    "nativeSrc": "31372:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31372:30:84"
                  },
                  "nativeSrc": "31372:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31372:30:84"
                },
                {
                  "nativeSrc": "31411:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31411:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31421:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31421:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31411:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31411:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16_fromMemory",
            "nativeSrc": "31183:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31229:9:84",
                "nodeType": "YulTypedName",
                "src": "31229:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31240:7:84",
                "nodeType": "YulTypedName",
                "src": "31240:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31252:6:84",
                "nodeType": "YulTypedName",
                "src": "31252:6:84",
                "type": ""
              }
            ],
            "src": "31183:249:84"
          },
          {
            "body": {
              "nativeSrc": "31515:199:84",
              "nodeType": "YulBlock",
              "src": "31515:199:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31561:16:84",
                    "nodeType": "YulBlock",
                    "src": "31561:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31570:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31570:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31573:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31573:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31563:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31563:6:84"
                          },
                          "nativeSrc": "31563:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31563:12:84"
                        },
                        "nativeSrc": "31563:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31563:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31536:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31536:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31545:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31545:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31532:3:84"
                        },
                        "nativeSrc": "31532:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31532:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31557:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31557:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31528:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31528:3:84"
                    },
                    "nativeSrc": "31528:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31528:32:84"
                  },
                  "nativeSrc": "31525:52:84",
                  "nodeType": "YulIf",
                  "src": "31525:52:84"
                },
                {
                  "nativeSrc": "31586:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31586:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31605:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31605:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31599:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31599:5:84"
                    },
                    "nativeSrc": "31599:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31599:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31590:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31590:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31668:16:84",
                    "nodeType": "YulBlock",
                    "src": "31668:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31677:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31677:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31680:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31680:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31670:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31670:6:84"
                          },
                          "nativeSrc": "31670:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31670:12:84"
                        },
                        "nativeSrc": "31670:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31670:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "31637:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "31637:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "31658:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31658:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "31651:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31651:6:84"
                                },
                                "nativeSrc": "31651:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31651:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "31644:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "31644:6:84"
                            },
                            "nativeSrc": "31644:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31644:21:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "31634:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "31634:2:84"
                        },
                        "nativeSrc": "31634:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31634:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31627:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31627:6:84"
                    },
                    "nativeSrc": "31627:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31627:40:84"
                  },
                  "nativeSrc": "31624:60:84",
                  "nodeType": "YulIf",
                  "src": "31624:60:84"
                },
                {
                  "nativeSrc": "31693:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31693:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31703:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31703:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31693:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31693:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "31437:277:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31481:9:84",
                "nodeType": "YulTypedName",
                "src": "31481:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31492:7:84",
                "nodeType": "YulTypedName",
                "src": "31492:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31504:6:84",
                "nodeType": "YulTypedName",
                "src": "31504:6:84",
                "type": ""
              }
            ],
            "src": "31437:277:84"
          },
          {
            "body": {
              "nativeSrc": "31774:65:84",
              "nodeType": "YulBlock",
              "src": "31774:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31791:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31791:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "31794:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31794:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31784:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31784:6:84"
                    },
                    "nativeSrc": "31784:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31784:14:84"
                  },
                  "nativeSrc": "31784:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31784:14:84"
                },
                {
                  "nativeSrc": "31807:26:84",
                  "nodeType": "YulAssignment",
                  "src": "31807:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31825:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31825:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31828:4:84",
                        "nodeType": "YulLiteral",
                        "src": "31828:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "31815:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "31815:9:84"
                    },
                    "nativeSrc": "31815:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31815:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "31807:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31807:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "31719:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "31757:3:84",
                "nodeType": "YulTypedName",
                "src": "31757:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "31765:4:84",
                "nodeType": "YulTypedName",
                "src": "31765:4:84",
                "type": ""
              }
            ],
            "src": "31719:120:84"
          },
          {
            "body": {
              "nativeSrc": "31924:462:84",
              "nodeType": "YulBlock",
              "src": "31924:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31957:423:84",
                    "nodeType": "YulBlock",
                    "src": "31957:423:84",
                    "statements": [
                      {
                        "nativeSrc": "31971:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31971:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "31981:1:84",
                          "nodeType": "YulLiteral",
                          "src": "31981:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "31975:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31975:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32002:1:84",
                              "nodeType": "YulLiteral",
                              "src": "32002:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "32005:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32005:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31995:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31995:6:84"
                          },
                          "nativeSrc": "31995:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31995:16:84"
                        },
                        "nativeSrc": "31995:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31995:16:84"
                      },
                      {
                        "nativeSrc": "32024:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32024:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32046:1:84",
                              "nodeType": "YulLiteral",
                              "src": "32046:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32049:4:84",
                              "nodeType": "YulLiteral",
                              "src": "32049:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "32036:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32036:9:84"
                          },
                          "nativeSrc": "32036:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32036:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "32028:4:84",
                            "nodeType": "YulTypedName",
                            "src": "32028:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32067:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32067:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "32090:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "32090:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "32100:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "32100:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "32107:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32107:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32119:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32119:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "32103:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32103:3:84"
                                  },
                                  "nativeSrc": "32103:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32103:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "32096:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32096:3:84"
                              },
                              "nativeSrc": "32096:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32096:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "32086:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32086:3:84"
                          },
                          "nativeSrc": "32086:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32086:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "32071:11:84",
                            "nodeType": "YulTypedName",
                            "src": "32071:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32161:23:84",
                          "nodeType": "YulBlock",
                          "src": "32161:23:84",
                          "statements": [
                            {
                              "nativeSrc": "32163:19:84",
                              "nodeType": "YulAssignment",
                              "src": "32163:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "32178:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32178:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "32163:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32163:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "32143:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "32143:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32155:4:84",
                              "nodeType": "YulLiteral",
                              "src": "32155:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32140:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32140:2:84"
                          },
                          "nativeSrc": "32140:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32140:20:84"
                        },
                        "nativeSrc": "32137:47:84",
                        "nodeType": "YulIf",
                        "src": "32137:47:84"
                      },
                      {
                        "nativeSrc": "32197:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32197:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "32211:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "32211:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "32221:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "32221:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "32228:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32228:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32233:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32233:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "32224:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32224:3:84"
                                  },
                                  "nativeSrc": "32224:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32224:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "32217:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32217:3:84"
                              },
                              "nativeSrc": "32217:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32217:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "32207:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32207:3:84"
                          },
                          "nativeSrc": "32207:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32207:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "32201:2:84",
                            "nodeType": "YulTypedName",
                            "src": "32201:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32251:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32251:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "32264:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "32264:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "32255:5:84",
                            "nodeType": "YulTypedName",
                            "src": "32255:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32349:21:84",
                          "nodeType": "YulBlock",
                          "src": "32349:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32358:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32358:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "32365:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32365:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "32351:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32351:6:84"
                                },
                                "nativeSrc": "32351:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32351:17:84"
                              },
                              "nativeSrc": "32351:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "32351:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "32299:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32299:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "32306:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "32306:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32296:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32296:2:84"
                          },
                          "nativeSrc": "32296:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32296:13:84"
                        },
                        "nativeSrc": "32288:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "32310:26:84",
                          "nodeType": "YulBlock",
                          "src": "32310:26:84",
                          "statements": [
                            {
                              "nativeSrc": "32312:22:84",
                              "nodeType": "YulAssignment",
                              "src": "32312:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32325:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32325:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32332:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32332:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "32321:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32321:3:84"
                                },
                                "nativeSrc": "32321:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32321:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "32312:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32312:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "32292:3:84",
                          "nodeType": "YulBlock",
                          "src": "32292:3:84",
                          "statements": []
                        },
                        "src": "32288:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31940:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31940:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31945:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31945:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31937:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31937:2:84"
                    },
                    "nativeSrc": "31937:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31937:11:84"
                  },
                  "nativeSrc": "31934:446:84",
                  "nodeType": "YulIf",
                  "src": "31934:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "31844:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "31896:5:84",
                "nodeType": "YulTypedName",
                "src": "31896:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31903:3:84",
                "nodeType": "YulTypedName",
                "src": "31903:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "31908:10:84",
                "nodeType": "YulTypedName",
                "src": "31908:10:84",
                "type": ""
              }
            ],
            "src": "31844:542:84"
          },
          {
            "body": {
              "nativeSrc": "32476:81:84",
              "nodeType": "YulBlock",
              "src": "32476:81:84",
              "statements": [
                {
                  "nativeSrc": "32486:65:84",
                  "nodeType": "YulAssignment",
                  "src": "32486:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "32501:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "32501:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32519:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32519:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "32522:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32522:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "32515:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32515:3:84"
                                    },
                                    "nativeSrc": "32515:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32515:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32532:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32532:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "32528:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32528:3:84"
                                    },
                                    "nativeSrc": "32528:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32528:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "32511:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32511:3:84"
                                },
                                "nativeSrc": "32511:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32511:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "32507:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32507:3:84"
                            },
                            "nativeSrc": "32507:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32507:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32497:3:84"
                        },
                        "nativeSrc": "32497:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32497:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "32543:1:84",
                            "nodeType": "YulLiteral",
                            "src": "32543:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "32546:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32546:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "32539:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32539:3:84"
                        },
                        "nativeSrc": "32539:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32539:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "32494:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32494:2:84"
                    },
                    "nativeSrc": "32494:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32494:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "32486:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32486:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "32391:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "32453:4:84",
                "nodeType": "YulTypedName",
                "src": "32453:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32459:3:84",
                "nodeType": "YulTypedName",
                "src": "32459:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "32467:4:84",
                "nodeType": "YulTypedName",
                "src": "32467:4:84",
                "type": ""
              }
            ],
            "src": "32391:166:84"
          },
          {
            "body": {
              "nativeSrc": "32663:1101:84",
              "nodeType": "YulBlock",
              "src": "32663:1101:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32704:22:84",
                    "nodeType": "YulBlock",
                    "src": "32704:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "32706:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "32706:16:84"
                          },
                          "nativeSrc": "32706:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32706:18:84"
                        },
                        "nativeSrc": "32706:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32706:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32679:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32679:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32684:18:84",
                        "nodeType": "YulLiteral",
                        "src": "32684:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32676:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32676:2:84"
                    },
                    "nativeSrc": "32676:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32676:27:84"
                  },
                  "nativeSrc": "32673:53:84",
                  "nodeType": "YulIf",
                  "src": "32673:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "32778:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "32778:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "32816:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32816:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "32810:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32810:5:84"
                            },
                            "nativeSrc": "32810:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32810:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "32784:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "32784:25:84"
                        },
                        "nativeSrc": "32784:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32784:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "32824:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32824:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "32735:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "32735:42:84"
                    },
                    "nativeSrc": "32735:93:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32735:93:84"
                  },
                  "nativeSrc": "32735:93:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32735:93:84"
                },
                {
                  "nativeSrc": "32837:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32837:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "32854:1:84",
                    "nodeType": "YulLiteral",
                    "src": "32854:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "32841:9:84",
                      "nodeType": "YulTypedName",
                      "src": "32841:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "32898:608:84",
                        "nodeType": "YulBlock",
                        "src": "32898:608:84",
                        "statements": [
                          {
                            "nativeSrc": "32912:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32912:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "32931:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32931:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32940:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32940:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32936:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32936:3:84"
                                  },
                                  "nativeSrc": "32936:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32936:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "32927:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32927:3:84"
                              },
                              "nativeSrc": "32927:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32927:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "32916:7:84",
                                "nodeType": "YulTypedName",
                                "src": "32916:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32957:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32957:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33000:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33000:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "32971:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "32971:28:84"
                              },
                              "nativeSrc": "32971:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32971:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "32961:6:84",
                                "nodeType": "YulTypedName",
                                "src": "32961:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "33018:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33018:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "33027:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "33027:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "33022:1:84",
                                "nodeType": "YulTypedName",
                                "src": "33022:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33106:172:84",
                              "nodeType": "YulBlock",
                              "src": "33106:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33131:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33131:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "33156:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33156:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "33161:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33161:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "33152:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33152:3:84"
                                            },
                                            "nativeSrc": "33152:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33152:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "33139:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33139:12:84"
                                        },
                                        "nativeSrc": "33139:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33139:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33124:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33124:6:84"
                                    },
                                    "nativeSrc": "33124:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33124:49:84"
                                  },
                                  "nativeSrc": "33124:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33124:49:84"
                                },
                                {
                                  "nativeSrc": "33190:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33190:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33204:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33204:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "33212:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "33212:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33200:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33200:3:84"
                                    },
                                    "nativeSrc": "33200:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33200:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "33190:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33190:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "33231:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33231:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "33248:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33248:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "33259:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "33259:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33244:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33244:3:84"
                                    },
                                    "nativeSrc": "33244:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33244:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "33231:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33231:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "33060:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33060:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "33063:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33063:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33057:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33057:2:84"
                              },
                              "nativeSrc": "33057:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33057:14:84"
                            },
                            "nativeSrc": "33049:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "33072:21:84",
                              "nodeType": "YulBlock",
                              "src": "33072:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "33074:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33074:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "33083:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33083:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "33086:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "33086:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33079:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33079:3:84"
                                    },
                                    "nativeSrc": "33079:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33079:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "33074:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33074:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "33053:3:84",
                              "nodeType": "YulBlock",
                              "src": "33053:3:84",
                              "statements": []
                            },
                            "src": "33049:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "33323:127:84",
                              "nodeType": "YulBlock",
                              "src": "33323:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33348:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33348:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "33377:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33377:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "33382:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33382:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "33373:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33373:3:84"
                                                },
                                                "nativeSrc": "33373:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33373:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "33360:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33360:12:84"
                                            },
                                            "nativeSrc": "33360:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33360:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "33411:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "33411:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "33414:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "33414:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "33407:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "33407:3:84"
                                                        },
                                                        "nativeSrc": "33407:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "33407:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33420:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33420:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "33403:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33403:3:84"
                                                    },
                                                    "nativeSrc": "33403:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33403:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33430:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33430:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "33426:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33426:3:84"
                                                    },
                                                    "nativeSrc": "33426:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33426:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "33399:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33399:3:84"
                                                },
                                                "nativeSrc": "33399:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33399:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "33395:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33395:3:84"
                                            },
                                            "nativeSrc": "33395:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33395:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "33356:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33356:3:84"
                                        },
                                        "nativeSrc": "33356:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33356:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33341:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33341:6:84"
                                    },
                                    "nativeSrc": "33341:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33341:95:84"
                                  },
                                  "nativeSrc": "33341:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33341:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "33297:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33297:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "33306:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33306:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33294:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33294:2:84"
                              },
                              "nativeSrc": "33294:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33294:16:84"
                            },
                            "nativeSrc": "33291:159:84",
                            "nodeType": "YulIf",
                            "src": "33291:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33470:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33470:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33484:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33484:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "33487:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33487:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "33480:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33480:3:84"
                                      },
                                      "nativeSrc": "33480:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33480:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "33493:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "33493:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33476:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33476:3:84"
                                  },
                                  "nativeSrc": "33476:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33476:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33463:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33463:6:84"
                              },
                              "nativeSrc": "33463:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33463:33:84"
                            },
                            "nativeSrc": "33463:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33463:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "32891:615:84",
                      "nodeType": "YulCase",
                      "src": "32891:615:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "32896:1:84",
                        "nodeType": "YulLiteral",
                        "src": "32896:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "33523:235:84",
                        "nodeType": "YulBlock",
                        "src": "33523:235:84",
                        "statements": [
                          {
                            "nativeSrc": "33537:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33537:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "33550:1:84",
                              "nodeType": "YulLiteral",
                              "src": "33550:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "33541:5:84",
                                "nodeType": "YulTypedName",
                                "src": "33541:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33583:74:84",
                              "nodeType": "YulBlock",
                              "src": "33583:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "33601:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33601:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "33627:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33627:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "33632:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33632:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "33623:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33623:3:84"
                                        },
                                        "nativeSrc": "33623:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33623:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "33610:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33610:12:84"
                                    },
                                    "nativeSrc": "33610:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33610:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33601:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33601:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "33567:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "33567:3:84"
                            },
                            "nativeSrc": "33564:93:84",
                            "nodeType": "YulIf",
                            "src": "33564:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33677:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33677:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33736:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33736:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "33743:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33743:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "33683:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33683:52:84"
                                  },
                                  "nativeSrc": "33683:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33683:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33670:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33670:6:84"
                              },
                              "nativeSrc": "33670:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33670:78:84"
                            },
                            "nativeSrc": "33670:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33670:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "33515:243:84",
                      "nodeType": "YulCase",
                      "src": "33515:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32874:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32874:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32879:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32879:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32871:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32871:2:84"
                    },
                    "nativeSrc": "32871:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32871:11:84"
                  },
                  "nativeSrc": "32864:894:84",
                  "nodeType": "YulSwitch",
                  "src": "32864:894:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "32562:1202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "32643:4:84",
                "nodeType": "YulTypedName",
                "src": "32643:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "32649:3:84",
                "nodeType": "YulTypedName",
                "src": "32649:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32654:3:84",
                "nodeType": "YulTypedName",
                "src": "32654:3:84",
                "type": ""
              }
            ],
            "src": "32562:1202:84"
          },
          {
            "body": {
              "nativeSrc": "33939:911:84",
              "nodeType": "YulBlock",
              "src": "33939:911:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "33980:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33980:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "33988:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33988:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "33949:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "33949:30:84"
                    },
                    "nativeSrc": "33949:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33949:49:84"
                  },
                  "nativeSrc": "33949:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33949:49:84"
                },
                {
                  "nativeSrc": "34007:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34007:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34017:2:84",
                    "nodeType": "YulLiteral",
                    "src": "34017:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34011:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34011:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34039:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34039:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34050:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34050:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34035:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34035:3:84"
                        },
                        "nativeSrc": "34035:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34035:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34055:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34055:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34028:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34028:6:84"
                    },
                    "nativeSrc": "34028:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34028:30:84"
                  },
                  "nativeSrc": "34028:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34028:30:84"
                },
                {
                  "nativeSrc": "34067:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34067:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34078:1:84",
                    "nodeType": "YulLiteral",
                    "src": "34078:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "34071:3:84",
                      "nodeType": "YulTypedName",
                      "src": "34071:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34088:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34088:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "34111:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34111:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "34105:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34105:5:84"
                    },
                    "nativeSrc": "34105:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34105:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "34092:9:84",
                      "nodeType": "YulTypedName",
                      "src": "34092:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34127:50:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34127:50:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "34167:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34167:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "34141:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "34141:25:84"
                    },
                    "nativeSrc": "34141:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34141:36:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "34131:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34131:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34197:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34197:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34208:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34208:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34193:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34193:3:84"
                        },
                        "nativeSrc": "34193:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34193:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "34213:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34213:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34186:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34186:6:84"
                    },
                    "nativeSrc": "34186:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34186:34:84"
                  },
                  "nativeSrc": "34186:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34186:34:84"
                },
                {
                  "nativeSrc": "34229:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34229:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34239:2:84",
                    "nodeType": "YulLiteral",
                    "src": "34239:2:84",
                    "type": "",
                    "value": "96"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "34233:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34233:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34250:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34250:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34260:1:84",
                    "nodeType": "YulLiteral",
                    "src": "34260:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "34254:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34254:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "34310:151:84",
                        "nodeType": "YulBlock",
                        "src": "34310:151:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34335:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34335:9:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "34346:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "34346:2:84",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34331:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34331:3:84"
                                  },
                                  "nativeSrc": "34331:18:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34331:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "34355:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34355:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34370:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34370:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "34366:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34366:3:84"
                                      },
                                      "nativeSrc": "34366:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34366:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "34351:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34351:3:84"
                                  },
                                  "nativeSrc": "34351:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34351:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34324:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34324:6:84"
                              },
                              "nativeSrc": "34324:52:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34324:52:84"
                            },
                            "nativeSrc": "34324:52:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34324:52:84"
                          },
                          {
                            "nativeSrc": "34389:62:84",
                            "nodeType": "YulAssignment",
                            "src": "34389:62:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34404:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34404:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34419:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34419:1:84",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "34436:6:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "34436:6:84"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "34429:6:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34429:6:84"
                                              },
                                              "nativeSrc": "34429:14:84",
                                              "nodeType": "YulFunctionCall",
                                              "src": "34429:14:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "34422:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34422:6:84"
                                          },
                                          "nativeSrc": "34422:22:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "34422:22:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "34415:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34415:3:84"
                                      },
                                      "nativeSrc": "34415:30:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34415:30:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34400:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34400:3:84"
                                  },
                                  "nativeSrc": "34400:46:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34400:46:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34448:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34448:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34396:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34396:3:84"
                              },
                              "nativeSrc": "34396:55:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34396:55:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34389:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34389:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34303:158:84",
                      "nodeType": "YulCase",
                      "src": "34303:158:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34308:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34308:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "34477:347:84",
                        "nodeType": "YulBlock",
                        "src": "34477:347:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34498:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34498:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value1",
                                  "nativeSrc": "34501:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34501:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34491:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34491:6:84"
                              },
                              "nativeSrc": "34491:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34491:17:84"
                            },
                            "nativeSrc": "34491:17:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34491:17:84"
                          },
                          {
                            "nativeSrc": "34521:31:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34521:31:84",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34546:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34546:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34549:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34549:2:84",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "34536:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "34536:9:84"
                              },
                              "nativeSrc": "34536:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34536:16:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "34525:7:84",
                                "nodeType": "YulTypedName",
                                "src": "34525:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "34565:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34565:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "34574:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34574:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "34569:1:84",
                                "nodeType": "YulTypedName",
                                "src": "34569:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "34642:126:84",
                              "nodeType": "YulBlock",
                              "src": "34642:126:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "34675:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34675:9:84"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "34686:1:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34686:1:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "34671:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "34671:3:84"
                                            },
                                            "nativeSrc": "34671:17:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "34671:17:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "34690:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34690:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "34667:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34667:3:84"
                                        },
                                        "nativeSrc": "34667:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34667:26:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "34701:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34701:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "34695:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34695:5:84"
                                        },
                                        "nativeSrc": "34695:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34695:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "34660:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34660:6:84"
                                    },
                                    "nativeSrc": "34660:50:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34660:50:84"
                                  },
                                  "nativeSrc": "34660:50:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "34660:50:84"
                                },
                                {
                                  "nativeSrc": "34727:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34727:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "34742:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34742:7:84"
                                      },
                                      {
                                        "name": "_3",
                                        "nativeSrc": "34751:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34751:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34738:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34738:3:84"
                                    },
                                    "nativeSrc": "34738:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34738:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "34727:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34727:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "34599:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34599:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "34602:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34602:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "34596:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "34596:2:84"
                              },
                              "nativeSrc": "34596:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34596:13:84"
                            },
                            "nativeSrc": "34588:180:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "34610:19:84",
                              "nodeType": "YulBlock",
                              "src": "34610:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "34612:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34612:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "34621:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34621:1:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "34624:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34624:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34617:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34617:3:84"
                                    },
                                    "nativeSrc": "34617:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34617:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "34612:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34612:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "34592:3:84",
                              "nodeType": "YulBlock",
                              "src": "34592:3:84",
                              "statements": []
                            },
                            "src": "34588:180:84"
                          },
                          {
                            "nativeSrc": "34781:33:84",
                            "nodeType": "YulAssignment",
                            "src": "34781:33:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34796:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34796:9:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "34807:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34807:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34792:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34792:3:84"
                                  },
                                  "nativeSrc": "34792:17:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34792:17:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34811:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34811:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34788:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34788:3:84"
                              },
                              "nativeSrc": "34788:26:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34788:26:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34781:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34781:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34470:354:84",
                      "nodeType": "YulCase",
                      "src": "34470:354:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34475:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34475:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "34281:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34281:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34292:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34292:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "34277:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34277:3:84"
                    },
                    "nativeSrc": "34277:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34277:17:84"
                  },
                  "nativeSrc": "34270:554:84",
                  "nodeType": "YulSwitch",
                  "src": "34270:554:84"
                },
                {
                  "nativeSrc": "34833:11:84",
                  "nodeType": "YulAssignment",
                  "src": "34833:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "34841:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "34841:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34833:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34833:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "33769:1081:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33900:9:84",
                "nodeType": "YulTypedName",
                "src": "33900:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33911:6:84",
                "nodeType": "YulTypedName",
                "src": "33911:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33919:6:84",
                "nodeType": "YulTypedName",
                "src": "33919:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33930:4:84",
                "nodeType": "YulTypedName",
                "src": "33930:4:84",
                "type": ""
              }
            ],
            "src": "33769:1081:84"
          },
          {
            "body": {
              "nativeSrc": "34966:791:84",
              "nodeType": "YulBlock",
              "src": "34966:791:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35012:16:84",
                    "nodeType": "YulBlock",
                    "src": "35012:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35021:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35021:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35024:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35024:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35014:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35014:6:84"
                          },
                          "nativeSrc": "35014:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35014:12:84"
                        },
                        "nativeSrc": "35014:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35014:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34987:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34987:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34996:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34996:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34983:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34983:3:84"
                        },
                        "nativeSrc": "34983:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34983:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35008:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35008:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34979:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34979:3:84"
                    },
                    "nativeSrc": "34979:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34979:32:84"
                  },
                  "nativeSrc": "34976:52:84",
                  "nodeType": "YulIf",
                  "src": "34976:52:84"
                },
                {
                  "nativeSrc": "35037:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35037:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35057:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35057:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35051:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35051:5:84"
                    },
                    "nativeSrc": "35051:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35051:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "35041:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35041:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35076:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35076:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35086:18:84",
                    "nodeType": "YulLiteral",
                    "src": "35086:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35080:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35080:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35131:16:84",
                    "nodeType": "YulBlock",
                    "src": "35131:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35140:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35140:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35143:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35143:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35133:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35133:6:84"
                          },
                          "nativeSrc": "35133:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35133:12:84"
                        },
                        "nativeSrc": "35133:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35133:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35119:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35119:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35127:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35127:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35116:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35116:2:84"
                    },
                    "nativeSrc": "35116:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35116:14:84"
                  },
                  "nativeSrc": "35113:34:84",
                  "nodeType": "YulIf",
                  "src": "35113:34:84"
                },
                {
                  "nativeSrc": "35156:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35156:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35170:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35170:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "35181:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35181:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35166:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35166:3:84"
                    },
                    "nativeSrc": "35166:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35166:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35160:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35160:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35228:16:84",
                    "nodeType": "YulBlock",
                    "src": "35228:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35237:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35237:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35240:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35240:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35230:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35230:6:84"
                          },
                          "nativeSrc": "35230:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35230:12:84"
                        },
                        "nativeSrc": "35230:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35230:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35208:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35208:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "35217:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35217:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35204:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35204:3:84"
                        },
                        "nativeSrc": "35204:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35204:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35222:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35222:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35200:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35200:3:84"
                    },
                    "nativeSrc": "35200:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35200:27:84"
                  },
                  "nativeSrc": "35197:47:84",
                  "nodeType": "YulIf",
                  "src": "35197:47:84"
                },
                {
                  "nativeSrc": "35253:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35253:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35273:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35273:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35267:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35267:5:84"
                    },
                    "nativeSrc": "35267:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35267:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "35257:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35257:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35287:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35287:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35309:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35309:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35317:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35317:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35305:3:84"
                    },
                    "nativeSrc": "35305:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35305:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "35291:10:84",
                      "nodeType": "YulTypedName",
                      "src": "35291:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35381:22:84",
                    "nodeType": "YulBlock",
                    "src": "35381:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "35383:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35383:16:84"
                          },
                          "nativeSrc": "35383:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35383:18:84"
                        },
                        "nativeSrc": "35383:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35383:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35340:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35340:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35352:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35352:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35337:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35337:2:84"
                        },
                        "nativeSrc": "35337:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35337:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35360:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35360:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "35372:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35372:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35357:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35357:2:84"
                        },
                        "nativeSrc": "35357:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35357:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "35334:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35334:2:84"
                    },
                    "nativeSrc": "35334:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35334:46:84"
                  },
                  "nativeSrc": "35331:72:84",
                  "nodeType": "YulIf",
                  "src": "35331:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35419:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35419:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "35425:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "35425:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35412:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35412:6:84"
                    },
                    "nativeSrc": "35412:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35412:24:84"
                  },
                  "nativeSrc": "35412:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35412:24:84"
                },
                {
                  "nativeSrc": "35445:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35445:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "35464:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35464:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35458:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35458:5:84"
                    },
                    "nativeSrc": "35458:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35458:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35449:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35449:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35502:16:84",
                    "nodeType": "YulBlock",
                    "src": "35502:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35511:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35511:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35514:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35514:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35504:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35504:6:84"
                          },
                          "nativeSrc": "35504:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35504:12:84"
                        },
                        "nativeSrc": "35504:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35504:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35489:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "35489:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35496:3:84",
                            "nodeType": "YulLiteral",
                            "src": "35496:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35486:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35486:2:84"
                        },
                        "nativeSrc": "35486:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35486:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35479:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35479:6:84"
                    },
                    "nativeSrc": "35479:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35479:22:84"
                  },
                  "nativeSrc": "35476:42:84",
                  "nodeType": "YulIf",
                  "src": "35476:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35534:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35534:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "35542:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35542:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35527:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35527:6:84"
                    },
                    "nativeSrc": "35527:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35527:21:84"
                  },
                  "nativeSrc": "35527:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35527:21:84"
                },
                {
                  "nativeSrc": "35557:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35557:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "35583:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35583:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35587:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35587:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35579:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35579:3:84"
                        },
                        "nativeSrc": "35579:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35579:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35573:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35573:5:84"
                    },
                    "nativeSrc": "35573:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35573:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "35561:8:84",
                      "nodeType": "YulTypedName",
                      "src": "35561:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35620:16:84",
                    "nodeType": "YulBlock",
                    "src": "35620:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35629:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35629:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35632:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35632:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35622:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35622:6:84"
                          },
                          "nativeSrc": "35622:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35622:12:84"
                        },
                        "nativeSrc": "35622:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35622:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "35606:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "35606:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35616:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35616:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35603:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35603:2:84"
                    },
                    "nativeSrc": "35603:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35603:16:84"
                  },
                  "nativeSrc": "35600:36:84",
                  "nodeType": "YulIf",
                  "src": "35600:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35656:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35656:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35664:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35664:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35652:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35652:3:84"
                        },
                        "nativeSrc": "35652:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35652:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "35702:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "35702:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "35706:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "35706:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35698:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35698:3:84"
                            },
                            "nativeSrc": "35698:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35698:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35717:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35717:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "35669:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "35669:28:84"
                        },
                        "nativeSrc": "35669:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35669:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35645:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35645:6:84"
                    },
                    "nativeSrc": "35645:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35645:81:84"
                  },
                  "nativeSrc": "35645:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35645:81:84"
                },
                {
                  "nativeSrc": "35735:16:84",
                  "nodeType": "YulAssignment",
                  "src": "35735:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "35745:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "35745:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35735:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35735:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "34855:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34932:9:84",
                "nodeType": "YulTypedName",
                "src": "34932:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34943:7:84",
                "nodeType": "YulTypedName",
                "src": "34943:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34955:6:84",
                "nodeType": "YulTypedName",
                "src": "34955:6:84",
                "type": ""
              }
            ],
            "src": "34855:902:84"
          },
          {
            "body": {
              "nativeSrc": "35805:136:84",
              "nodeType": "YulBlock",
              "src": "35805:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35850:85:84",
                    "nodeType": "YulBlock",
                    "src": "35850:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35879:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35879:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35882:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35882:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35885:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35885:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "35864:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "35864:14:84"
                          },
                          "nativeSrc": "35864:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35864:23:84"
                        },
                        "nativeSrc": "35864:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35864:23:84"
                      },
                      {
                        "nativeSrc": "35900:25:84",
                        "nodeType": "YulAssignment",
                        "src": "35900:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35911:3:84",
                              "nodeType": "YulLiteral",
                              "src": "35911:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "35922:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "35922:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "35916:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "35916:5:84"
                              },
                              "nativeSrc": "35916:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "35916:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "35907:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35907:3:84"
                          },
                          "nativeSrc": "35907:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35907:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "35900:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35900:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35821:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35821:14:84"
                        },
                        "nativeSrc": "35821:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35821:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35839:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35839:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35818:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35818:2:84"
                    },
                    "nativeSrc": "35818:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35818:23:84"
                  },
                  "nativeSrc": "35815:120:84",
                  "nodeType": "YulIf",
                  "src": "35815:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "35762:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "35797:3:84",
                "nodeType": "YulTypedName",
                "src": "35797:3:84",
                "type": ""
              }
            ],
            "src": "35762:179:84"
          },
          {
            "body": {
              "nativeSrc": "35993:624:84",
              "nodeType": "YulBlock",
              "src": "35993:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36033:9:84",
                    "nodeType": "YulBlock",
                    "src": "36033:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36035:5:84",
                        "nodeType": "YulLeave",
                        "src": "36035:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "36009:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "36009:14:84"
                        },
                        "nativeSrc": "36009:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36009:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36027:4:84",
                        "nodeType": "YulLiteral",
                        "src": "36027:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "36006:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36006:2:84"
                    },
                    "nativeSrc": "36006:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36006:26:84"
                  },
                  "nativeSrc": "36003:39:84",
                  "nodeType": "YulIf",
                  "src": "36003:39:84"
                },
                {
                  "nativeSrc": "36051:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36051:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "36069:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36069:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36063:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36063:5:84"
                    },
                    "nativeSrc": "36063:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36063:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "36055:4:84",
                      "nodeType": "YulTypedName",
                      "src": "36055:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36081:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36081:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "36095:1:84",
                        "nodeType": "YulLiteral",
                        "src": "36095:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "36091:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36091:3:84"
                    },
                    "nativeSrc": "36091:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36091:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36085:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36085:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36121:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36121:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36127:1:84",
                        "nodeType": "YulLiteral",
                        "src": "36127:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "36134:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "36134:14:84"
                            },
                            "nativeSrc": "36134:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36134:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36152:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36152:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36130:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36130:3:84"
                        },
                        "nativeSrc": "36130:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36130:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "36106:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "36106:14:84"
                    },
                    "nativeSrc": "36106:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36106:50:84"
                  },
                  "nativeSrc": "36106:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36106:50:84"
                },
                {
                  "nativeSrc": "36165:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36165:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36185:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36185:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36179:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36179:5:84"
                    },
                    "nativeSrc": "36179:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36179:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "36169:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36169:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36199:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36199:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "36209:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "36209:14:84"
                    },
                    "nativeSrc": "36209:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36209:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "36203:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36203:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36234:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36234:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36244:18:84",
                    "nodeType": "YulLiteral",
                    "src": "36244:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "36238:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36238:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36320:9:84",
                    "nodeType": "YulBlock",
                    "src": "36320:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36322:5:84",
                        "nodeType": "YulLeave",
                        "src": "36322:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "36280:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36280:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "36288:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36288:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "36277:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36277:2:84"
                        },
                        "nativeSrc": "36277:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36277:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36300:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36300:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36308:4:84",
                                "nodeType": "YulLiteral",
                                "src": "36308:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36296:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36296:3:84"
                            },
                            "nativeSrc": "36296:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36296:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "36315:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36315:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "36293:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36293:2:84"
                        },
                        "nativeSrc": "36293:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36293:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "36274:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36274:2:84"
                    },
                    "nativeSrc": "36274:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36274:45:84"
                  },
                  "nativeSrc": "36271:58:84",
                  "nodeType": "YulIf",
                  "src": "36271:58:84"
                },
                {
                  "nativeSrc": "36338:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36338:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36353:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36353:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "36359:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36359:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36349:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36349:3:84"
                    },
                    "nativeSrc": "36349:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36349:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "36342:3:84",
                      "nodeType": "YulTypedName",
                      "src": "36342:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36375:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36375:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "36395:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36395:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36389:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36389:5:84"
                    },
                    "nativeSrc": "36389:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36389:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36379:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36379:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36426:9:84",
                    "nodeType": "YulBlock",
                    "src": "36426:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36428:5:84",
                        "nodeType": "YulLeave",
                        "src": "36428:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "36414:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36414:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "36422:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36422:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36411:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36411:2:84"
                    },
                    "nativeSrc": "36411:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36411:14:84"
                  },
                  "nativeSrc": "36408:27:84",
                  "nodeType": "YulIf",
                  "src": "36408:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "36517:9:84",
                    "nodeType": "YulBlock",
                    "src": "36517:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36519:5:84",
                        "nodeType": "YulLeave",
                        "src": "36519:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "36458:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "36458:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36463:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36463:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36454:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36454:3:84"
                            },
                            "nativeSrc": "36454:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36454:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36472:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36472:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36450:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36450:3:84"
                        },
                        "nativeSrc": "36450:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36450:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "36487:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "36487:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "36493:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "36493:14:84"
                                },
                                "nativeSrc": "36493:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "36493:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36483:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36483:3:84"
                            },
                            "nativeSrc": "36483:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36483:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36512:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36512:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36479:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36479:3:84"
                        },
                        "nativeSrc": "36479:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36479:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36447:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36447:2:84"
                    },
                    "nativeSrc": "36447:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36447:69:84"
                  },
                  "nativeSrc": "36444:82:84",
                  "nodeType": "YulIf",
                  "src": "36444:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36555:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36555:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36569:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36569:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36577:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36577:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36565:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36565:3:84"
                            },
                            "nativeSrc": "36565:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36565:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36586:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36586:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36561:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36561:3:84"
                        },
                        "nativeSrc": "36561:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36561:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "36535:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "36535:19:84"
                    },
                    "nativeSrc": "36535:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36535:57:84"
                  },
                  "nativeSrc": "36535:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36535:57:84"
                },
                {
                  "nativeSrc": "36601:10:84",
                  "nodeType": "YulAssignment",
                  "src": "36601:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "36608:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "36608:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "36601:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36601:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "35946:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "35985:3:84",
                "nodeType": "YulTypedName",
                "src": "35985:3:84",
                "type": ""
              }
            ],
            "src": "35946:671:84"
          },
          {
            "body": {
              "nativeSrc": "36862:209:84",
              "nodeType": "YulBlock",
              "src": "36862:209:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "36879:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36879:3:84"
                      },
                      {
                        "hexValue": "5769746e65744572726f72734c69623a20",
                        "kind": "string",
                        "nativeSrc": "36884:19:84",
                        "nodeType": "YulLiteral",
                        "src": "36884:19:84",
                        "type": "",
                        "value": "WitnetErrorsLib: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36872:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36872:6:84"
                    },
                    "nativeSrc": "36872:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36872:32:84"
                  },
                  "nativeSrc": "36872:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36872:32:84"
                },
                {
                  "nativeSrc": "36913:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36913:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36933:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36933:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36927:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36927:5:84"
                    },
                    "nativeSrc": "36927:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36927:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36917:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36917:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36988:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36996:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36996:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36984:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36984:3:84"
                        },
                        "nativeSrc": "36984:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36984:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37007:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37007:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37012:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37012:2:84",
                            "type": "",
                            "value": "17"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37003:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37003:3:84"
                        },
                        "nativeSrc": "37003:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37003:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "37017:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37017:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "36949:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "36949:34:84"
                    },
                    "nativeSrc": "36949:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36949:75:84"
                  },
                  "nativeSrc": "36949:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36949:75:84"
                },
                {
                  "nativeSrc": "37033:32:84",
                  "nodeType": "YulAssignment",
                  "src": "37033:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37048:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37048:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "37053:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37053:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37044:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37044:3:84"
                        },
                        "nativeSrc": "37044:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37044:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37062:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37062:2:84",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37040:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37040:3:84"
                    },
                    "nativeSrc": "37040:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37040:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "37033:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37033:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "36622:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "36838:3:84",
                "nodeType": "YulTypedName",
                "src": "36838:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36843:6:84",
                "nodeType": "YulTypedName",
                "src": "36843:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "36854:3:84",
                "nodeType": "YulTypedName",
                "src": "36854:3:84",
                "type": ""
              }
            ],
            "src": "36622:449:84"
          },
          {
            "body": {
              "nativeSrc": "37123:135:84",
              "nodeType": "YulBlock",
              "src": "37123:135:84",
              "statements": [
                {
                  "nativeSrc": "37133:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37133:30:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "37143:20:84",
                    "nodeType": "YulLiteral",
                    "src": "37143:20:84",
                    "type": "",
                    "value": "0xffffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37137:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37137:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37172:34:84",
                  "nodeType": "YulAssignment",
                  "src": "37172:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "37187:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "37187:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "37190:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37190:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37183:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37183:3:84"
                        },
                        "nativeSrc": "37183:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37183:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "37199:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "37199:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "37202:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37202:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37195:3:84"
                        },
                        "nativeSrc": "37195:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37195:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37179:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37179:3:84"
                    },
                    "nativeSrc": "37179:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37179:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "37172:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37172:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37230:22:84",
                    "nodeType": "YulBlock",
                    "src": "37230:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37232:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "37232:16:84"
                          },
                          "nativeSrc": "37232:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37232:18:84"
                        },
                        "nativeSrc": "37232:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37232:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "37221:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "37221:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37226:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37226:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37218:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "37218:2:84"
                    },
                    "nativeSrc": "37218:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37218:11:84"
                  },
                  "nativeSrc": "37215:37:84",
                  "nodeType": "YulIf",
                  "src": "37215:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint72",
            "nativeSrc": "37076:182:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "37106:1:84",
                "nodeType": "YulTypedName",
                "src": "37106:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "37109:1:84",
                "nodeType": "YulTypedName",
                "src": "37109:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "37115:3:84",
                "nodeType": "YulTypedName",
                "src": "37115:3:84",
                "type": ""
              }
            ],
            "src": "37076:182:84"
          },
          {
            "body": {
              "nativeSrc": "37391:146:84",
              "nodeType": "YulBlock",
              "src": "37391:146:84",
              "statements": [
                {
                  "nativeSrc": "37401:26:84",
                  "nodeType": "YulAssignment",
                  "src": "37401:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37413:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37413:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37424:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37424:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37409:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37409:3:84"
                    },
                    "nativeSrc": "37409:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37409:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37401:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37401:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37443:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37443:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37454:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37454:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37436:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37436:6:84"
                    },
                    "nativeSrc": "37436:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37436:25:84"
                  },
                  "nativeSrc": "37436:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37436:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37481:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37481:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37492:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37492:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37477:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37477:3:84"
                        },
                        "nativeSrc": "37477:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37477:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "37501:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37501:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37509:20:84",
                            "nodeType": "YulLiteral",
                            "src": "37509:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37497:3:84"
                        },
                        "nativeSrc": "37497:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37497:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37470:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37470:6:84"
                    },
                    "nativeSrc": "37470:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37470:61:84"
                  },
                  "nativeSrc": "37470:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37470:61:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37263:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37352:9:84",
                "nodeType": "YulTypedName",
                "src": "37352:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37363:6:84",
                "nodeType": "YulTypedName",
                "src": "37363:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37371:6:84",
                "nodeType": "YulTypedName",
                "src": "37371:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37382:4:84",
                "nodeType": "YulTypedName",
                "src": "37382:4:84",
                "type": ""
              }
            ],
            "src": "37263:274:84"
          },
          {
            "body": {
              "nativeSrc": "37699:162:84",
              "nodeType": "YulBlock",
              "src": "37699:162:84",
              "statements": [
                {
                  "nativeSrc": "37709:26:84",
                  "nodeType": "YulAssignment",
                  "src": "37709:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37721:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37721:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37732:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37732:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37717:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37717:3:84"
                    },
                    "nativeSrc": "37717:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37717:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37709:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37709:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37751:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37751:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37762:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37762:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37744:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37744:6:84"
                    },
                    "nativeSrc": "37744:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37744:25:84"
                  },
                  "nativeSrc": "37744:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37744:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37789:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37789:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37800:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37800:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37785:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37785:3:84"
                        },
                        "nativeSrc": "37785:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37785:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "37805:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37805:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37778:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37778:6:84"
                    },
                    "nativeSrc": "37778:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37778:34:84"
                  },
                  "nativeSrc": "37778:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37778:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37832:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37832:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37843:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37843:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37828:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37828:3:84"
                        },
                        "nativeSrc": "37828:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37828:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37848:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37848:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37821:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37821:6:84"
                    },
                    "nativeSrc": "37821:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37821:34:84"
                  },
                  "nativeSrc": "37821:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37821:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37542:319:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37652:9:84",
                "nodeType": "YulTypedName",
                "src": "37652:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "37663:6:84",
                "nodeType": "YulTypedName",
                "src": "37663:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37671:6:84",
                "nodeType": "YulTypedName",
                "src": "37671:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37679:6:84",
                "nodeType": "YulTypedName",
                "src": "37679:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37690:4:84",
                "nodeType": "YulTypedName",
                "src": "37690:4:84",
                "type": ""
              }
            ],
            "src": "37542:319:84"
          },
          {
            "body": {
              "nativeSrc": "38127:506:84",
              "nodeType": "YulBlock",
              "src": "38127:506:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38144:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38144:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "38155:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38155:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38137:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38137:6:84"
                    },
                    "nativeSrc": "38137:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38137:25:84"
                  },
                  "nativeSrc": "38137:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38137:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38182:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38182:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38193:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38193:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38178:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38178:3:84"
                        },
                        "nativeSrc": "38178:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38178:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38198:3:84",
                        "nodeType": "YulLiteral",
                        "src": "38198:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38171:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38171:6:84"
                    },
                    "nativeSrc": "38171:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38171:31:84"
                  },
                  "nativeSrc": "38171:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38171:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38222:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38222:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38233:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38233:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38218:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38218:3:84"
                        },
                        "nativeSrc": "38218:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38218:19:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "38239:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38239:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38211:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38211:6:84"
                    },
                    "nativeSrc": "38211:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38211:35:84"
                  },
                  "nativeSrc": "38211:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38211:35:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38272:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38272:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38283:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38283:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38268:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38268:3:84"
                        },
                        "nativeSrc": "38268:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38268:19:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "38289:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38289:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "38297:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38297:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "38255:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38255:12:84"
                    },
                    "nativeSrc": "38255:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38255:49:84"
                  },
                  "nativeSrc": "38255:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38255:49:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38328:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "38328:9:84"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "38339:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "38339:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38324:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38324:3:84"
                            },
                            "nativeSrc": "38324:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38324:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38348:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38348:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38320:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38320:3:84"
                        },
                        "nativeSrc": "38320:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38320:32:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38354:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38354:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38313:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38313:6:84"
                    },
                    "nativeSrc": "38313:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38313:43:84"
                  },
                  "nativeSrc": "38313:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38313:43:84"
                },
                {
                  "nativeSrc": "38365:55:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38365:55:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38379:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38379:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value2",
                                "nativeSrc": "38398:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "38398:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38406:2:84",
                                "nodeType": "YulLiteral",
                                "src": "38406:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38394:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38394:3:84"
                            },
                            "nativeSrc": "38394:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38394:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "38415:2:84",
                                "nodeType": "YulLiteral",
                                "src": "38415:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "38411:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38411:3:84"
                            },
                            "nativeSrc": "38411:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38411:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "38390:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38390:3:84"
                        },
                        "nativeSrc": "38390:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38390:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38375:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38375:3:84"
                    },
                    "nativeSrc": "38375:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38375:45:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38369:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38369:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38440:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38440:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38451:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38451:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38436:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38436:3:84"
                        },
                        "nativeSrc": "38436:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38436:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "38456:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38456:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38429:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38429:6:84"
                    },
                    "nativeSrc": "38429:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38429:34:84"
                  },
                  "nativeSrc": "38429:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38429:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38483:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38483:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38494:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38494:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38479:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38479:3:84"
                        },
                        "nativeSrc": "38479:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38479:18:84"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "38499:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38499:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38472:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38472:6:84"
                    },
                    "nativeSrc": "38472:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38472:34:84"
                  },
                  "nativeSrc": "38472:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38472:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38526:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38537:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38537:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38522:3:84"
                        },
                        "nativeSrc": "38522:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38522:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "38551:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38551:2:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "38555:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "38555:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "38547:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38547:3:84"
                            },
                            "nativeSrc": "38547:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38547:18:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38567:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38567:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38543:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38543:3:84"
                        },
                        "nativeSrc": "38543:28:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38543:28:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38515:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38515:6:84"
                    },
                    "nativeSrc": "38515:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38515:57:84"
                  },
                  "nativeSrc": "38515:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38515:57:84"
                },
                {
                  "nativeSrc": "38581:46:84",
                  "nodeType": "YulAssignment",
                  "src": "38581:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "38606:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38606:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "38618:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38618:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38622:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38622:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38614:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38614:3:84"
                        },
                        "nativeSrc": "38614:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38614:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "38589:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "38589:16:84"
                    },
                    "nativeSrc": "38589:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38589:38:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "38581:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "38581:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "37866:767:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38056:9:84",
                "nodeType": "YulTypedName",
                "src": "38056:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "38067:6:84",
                "nodeType": "YulTypedName",
                "src": "38067:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "38075:6:84",
                "nodeType": "YulTypedName",
                "src": "38075:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "38083:6:84",
                "nodeType": "YulTypedName",
                "src": "38083:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "38091:6:84",
                "nodeType": "YulTypedName",
                "src": "38091:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "38099:6:84",
                "nodeType": "YulTypedName",
                "src": "38099:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "38107:6:84",
                "nodeType": "YulTypedName",
                "src": "38107:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "38118:4:84",
                "nodeType": "YulTypedName",
                "src": "38118:4:84",
                "type": ""
              }
            ],
            "src": "37866:767:84"
          },
          {
            "body": {
              "nativeSrc": "38707:176:84",
              "nodeType": "YulBlock",
              "src": "38707:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38753:16:84",
                    "nodeType": "YulBlock",
                    "src": "38753:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38762:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38765:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38755:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38755:6:84"
                          },
                          "nativeSrc": "38755:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38755:12:84"
                        },
                        "nativeSrc": "38755:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38755:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38728:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38728:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38737:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38737:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38724:3:84"
                        },
                        "nativeSrc": "38724:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38724:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38749:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38749:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38720:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38720:3:84"
                    },
                    "nativeSrc": "38720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38720:32:84"
                  },
                  "nativeSrc": "38717:52:84",
                  "nodeType": "YulIf",
                  "src": "38717:52:84"
                },
                {
                  "nativeSrc": "38778:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38778:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38804:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38804:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38791:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38791:12:84"
                    },
                    "nativeSrc": "38791:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38791:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38782:5:84",
                      "nodeType": "YulTypedName",
                      "src": "38782:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38847:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38847:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "38823:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "38823:23:84"
                    },
                    "nativeSrc": "38823:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38823:30:84"
                  },
                  "nativeSrc": "38823:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38823:30:84"
                },
                {
                  "nativeSrc": "38862:15:84",
                  "nodeType": "YulAssignment",
                  "src": "38862:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "38872:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "38872:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38862:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38862:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "38638:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38673:9:84",
                "nodeType": "YulTypedName",
                "src": "38673:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38684:7:84",
                "nodeType": "YulTypedName",
                "src": "38684:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38696:6:84",
                "nodeType": "YulTypedName",
                "src": "38696:6:84",
                "type": ""
              }
            ],
            "src": "38638:245:84"
          },
          {
            "body": {
              "nativeSrc": "38956:175:84",
              "nodeType": "YulBlock",
              "src": "38956:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39002:16:84",
                    "nodeType": "YulBlock",
                    "src": "39002:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39011:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39011:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39014:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39014:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39004:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39004:6:84"
                          },
                          "nativeSrc": "39004:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39004:12:84"
                        },
                        "nativeSrc": "39004:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39004:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38977:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38977:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38986:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38986:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38973:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38973:3:84"
                        },
                        "nativeSrc": "38973:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38973:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38998:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38998:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38969:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38969:3:84"
                    },
                    "nativeSrc": "38969:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38969:32:84"
                  },
                  "nativeSrc": "38966:52:84",
                  "nodeType": "YulIf",
                  "src": "38966:52:84"
                },
                {
                  "nativeSrc": "39027:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39027:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39053:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "39053:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39040:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39040:12:84"
                    },
                    "nativeSrc": "39040:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39040:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "39031:5:84",
                      "nodeType": "YulTypedName",
                      "src": "39031:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39095:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39095:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "39072:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "39072:22:84"
                    },
                    "nativeSrc": "39072:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39072:29:84"
                  },
                  "nativeSrc": "39072:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39072:29:84"
                },
                {
                  "nativeSrc": "39110:15:84",
                  "nodeType": "YulAssignment",
                  "src": "39110:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "39120:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "39120:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39110:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "38888:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38922:9:84",
                "nodeType": "YulTypedName",
                "src": "38922:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38933:7:84",
                "nodeType": "YulTypedName",
                "src": "38933:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38945:6:84",
                "nodeType": "YulTypedName",
                "src": "38945:6:84",
                "type": ""
              }
            ],
            "src": "38888:243:84"
          },
          {
            "body": {
              "nativeSrc": "39183:88:84",
              "nodeType": "YulBlock",
              "src": "39183:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39214:22:84",
                    "nodeType": "YulBlock",
                    "src": "39214:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39216:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39216:16:84"
                          },
                          "nativeSrc": "39216:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39216:18:84"
                        },
                        "nativeSrc": "39216:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39216:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39199:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39199:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39210:1:84",
                            "nodeType": "YulLiteral",
                            "src": "39210:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "39206:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39206:3:84"
                        },
                        "nativeSrc": "39206:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39206:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "39196:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39196:2:84"
                    },
                    "nativeSrc": "39196:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39196:17:84"
                  },
                  "nativeSrc": "39193:43:84",
                  "nodeType": "YulIf",
                  "src": "39193:43:84"
                },
                {
                  "nativeSrc": "39245:20:84",
                  "nodeType": "YulAssignment",
                  "src": "39245:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39256:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39256:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39263:1:84",
                        "nodeType": "YulLiteral",
                        "src": "39263:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39252:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39252:3:84"
                    },
                    "nativeSrc": "39252:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39252:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "39245:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39245:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "39136:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "39165:5:84",
                "nodeType": "YulTypedName",
                "src": "39165:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "39175:3:84",
                "nodeType": "YulTypedName",
                "src": "39175:3:84",
                "type": ""
              }
            ],
            "src": "39136:135:84"
          },
          {
            "body": {
              "nativeSrc": "39407:411:84",
              "nodeType": "YulBlock",
              "src": "39407:411:84",
              "statements": [
                {
                  "nativeSrc": "39417:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39417:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39445:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39445:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39432:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39432:12:84"
                    },
                    "nativeSrc": "39432:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39432:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "39421:7:84",
                      "nodeType": "YulTypedName",
                      "src": "39421:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "39483:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39483:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "39460:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "39460:22:84"
                    },
                    "nativeSrc": "39460:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39460:31:84"
                  },
                  "nativeSrc": "39460:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39460:31:84"
                },
                {
                  "nativeSrc": "39500:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39500:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "39514:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39514:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39523:4:84",
                        "nodeType": "YulLiteral",
                        "src": "39523:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39510:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39510:3:84"
                    },
                    "nativeSrc": "39510:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39510:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39504:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39504:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39537:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39537:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39553:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39553:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "39547:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39547:5:84"
                    },
                    "nativeSrc": "39547:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39547:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "39541:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39541:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39574:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39574:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "39587:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "39587:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39595:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "39595:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "39591:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39591:3:84"
                                },
                                "nativeSrc": "39591:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39591:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "39583:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39583:3:84"
                            },
                            "nativeSrc": "39583:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39583:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39602:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39602:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "39580:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39580:2:84"
                        },
                        "nativeSrc": "39580:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39580:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "39567:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39567:6:84"
                    },
                    "nativeSrc": "39567:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39567:39:84"
                  },
                  "nativeSrc": "39567:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39567:39:84"
                },
                {
                  "nativeSrc": "39615:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39615:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "39647:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "39647:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39654:2:84",
                            "nodeType": "YulLiteral",
                            "src": "39654:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39643:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39643:3:84"
                        },
                        "nativeSrc": "39643:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39643:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39630:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39630:12:84"
                    },
                    "nativeSrc": "39630:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39630:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "39619:7:84",
                      "nodeType": "YulTypedName",
                      "src": "39619:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "39691:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39691:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "39667:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "39667:23:84"
                    },
                    "nativeSrc": "39667:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39667:32:84"
                  },
                  "nativeSrc": "39667:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39667:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39715:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39715:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "39731:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39731:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "39739:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "39739:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "39735:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "39735:3:84"
                                    },
                                    "nativeSrc": "39735:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "39735:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "39727:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39727:3:84"
                                },
                                "nativeSrc": "39727:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39727:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "39763:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "39763:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "39724:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "39724:2:84"
                            },
                            "nativeSrc": "39724:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39724:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39776:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "39776:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "39779:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39779:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "39772:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39772:3:84"
                                },
                                "nativeSrc": "39772:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39772:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "39789:20:84",
                                "nodeType": "YulLiteral",
                                "src": "39789:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "39768:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39768:3:84"
                            },
                            "nativeSrc": "39768:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39768:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "39721:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39721:2:84"
                        },
                        "nativeSrc": "39721:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39721:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "39708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39708:6:84"
                    },
                    "nativeSrc": "39708:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39708:104:84"
                  },
                  "nativeSrc": "39708:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39708:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "39276:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "39390:4:84",
                "nodeType": "YulTypedName",
                "src": "39390:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "39396:5:84",
                "nodeType": "YulTypedName",
                "src": "39396:5:84",
                "type": ""
              }
            ],
            "src": "39276:542:84"
          },
          {
            "body": {
              "nativeSrc": "39874:206:84",
              "nodeType": "YulBlock",
              "src": "39874:206:84",
              "statements": [
                {
                  "nativeSrc": "39884:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39884:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39894:18:84",
                    "nodeType": "YulLiteral",
                    "src": "39894:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39888:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39888:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39921:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39921:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39948:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39948:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39951:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39951:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39944:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39944:3:84"
                        },
                        "nativeSrc": "39944:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39944:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39960:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39960:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39963:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39963:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39956:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39956:3:84"
                        },
                        "nativeSrc": "39956:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39956:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "39940:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39940:3:84"
                    },
                    "nativeSrc": "39940:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39940:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "39925:11:84",
                      "nodeType": "YulTypedName",
                      "src": "39925:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39976:31:84",
                  "nodeType": "YulAssignment",
                  "src": "39976:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "39991:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "39991:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40004:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40004:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39987:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39987:3:84"
                    },
                    "nativeSrc": "39987:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39987:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "39976:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "39976:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40052:22:84",
                    "nodeType": "YulBlock",
                    "src": "40052:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40054:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "40054:16:84"
                          },
                          "nativeSrc": "40054:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40054:18:84"
                        },
                        "nativeSrc": "40054:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40054:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "40029:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "40029:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "40038:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "40038:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "40026:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "40026:2:84"
                        },
                        "nativeSrc": "40026:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40026:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "40019:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40019:6:84"
                    },
                    "nativeSrc": "40019:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40019:32:84"
                  },
                  "nativeSrc": "40016:58:84",
                  "nodeType": "YulIf",
                  "src": "40016:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "39823:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39853:1:84",
                "nodeType": "YulTypedName",
                "src": "39853:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39856:1:84",
                "nodeType": "YulTypedName",
                "src": "39856:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "39862:7:84",
                "nodeType": "YulTypedName",
                "src": "39862:7:84",
                "type": ""
              }
            ],
            "src": "39823:257:84"
          },
          {
            "body": {
              "nativeSrc": "40140:724:84",
              "nodeType": "YulBlock",
              "src": "40140:724:84",
              "statements": [
                {
                  "nativeSrc": "40150:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40150:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "40176:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "40176:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40170:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40170:5:84"
                    },
                    "nativeSrc": "40170:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40170:12:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "40154:12:84",
                      "nodeType": "YulTypedName",
                      "src": "40154:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "40198:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "40198:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40203:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40203:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40191:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40191:6:84"
                    },
                    "nativeSrc": "40191:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40191:17:84"
                  },
                  "nativeSrc": "40191:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40191:17:84"
                },
                {
                  "nativeSrc": "40217:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40217:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "40245:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "40245:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40239:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40239:5:84"
                    },
                    "nativeSrc": "40239:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40239:19:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "40221:14:84",
                      "nodeType": "YulTypedName",
                      "src": "40221:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40278:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40278:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40283:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40283:4:84",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40274:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40274:3:84"
                        },
                        "nativeSrc": "40274:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40274:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40290:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40290:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40267:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40267:6:84"
                    },
                    "nativeSrc": "40267:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40267:28:84"
                  },
                  "nativeSrc": "40267:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40267:28:84"
                },
                {
                  "nativeSrc": "40304:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40304:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "40333:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "40333:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40353:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40353:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40358:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40358:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40349:3:84"
                        },
                        "nativeSrc": "40349:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40349:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "40316:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "40316:16:84"
                    },
                    "nativeSrc": "40316:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40316:47:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "40308:4:84",
                      "nodeType": "YulTypedName",
                      "src": "40308:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40383:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40383:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40388:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40388:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40379:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40379:3:84"
                        },
                        "nativeSrc": "40379:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40379:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "40404:12:84",
                                "nodeType": "YulIdentifier",
                                "src": "40404:12:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40418:4:84",
                                "nodeType": "YulLiteral",
                                "src": "40418:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40400:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40400:3:84"
                            },
                            "nativeSrc": "40400:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40400:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "40394:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "40394:5:84"
                        },
                        "nativeSrc": "40394:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40394:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40372:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40372:6:84"
                    },
                    "nativeSrc": "40372:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40372:53:84"
                  },
                  "nativeSrc": "40372:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40372:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40445:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40445:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40450:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40450:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40441:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40441:3:84"
                        },
                        "nativeSrc": "40441:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40441:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40471:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40471:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40478:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40478:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40467:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40467:3:84"
                                },
                                "nativeSrc": "40467:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40467:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40461:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40461:5:84"
                            },
                            "nativeSrc": "40461:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40461:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40486:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40486:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40457:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40457:3:84"
                        },
                        "nativeSrc": "40457:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40457:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40434:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40434:6:84"
                    },
                    "nativeSrc": "40434:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40434:58:84"
                  },
                  "nativeSrc": "40434:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40434:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40512:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40512:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40517:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40517:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40508:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40508:3:84"
                        },
                        "nativeSrc": "40508:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40508:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40538:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40538:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40545:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40545:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40534:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40534:3:84"
                                },
                                "nativeSrc": "40534:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40534:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40528:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40528:5:84"
                            },
                            "nativeSrc": "40528:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40528:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40553:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40553:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40524:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40524:3:84"
                        },
                        "nativeSrc": "40524:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40524:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40501:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40501:6:84"
                    },
                    "nativeSrc": "40501:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40501:58:84"
                  },
                  "nativeSrc": "40501:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40501:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40579:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40579:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40584:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40584:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40575:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40575:3:84"
                        },
                        "nativeSrc": "40575:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40575:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40605:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40605:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40612:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40612:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40601:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40601:3:84"
                                },
                                "nativeSrc": "40601:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40601:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40595:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40595:5:84"
                            },
                            "nativeSrc": "40595:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40595:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40620:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40620:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40591:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40591:3:84"
                        },
                        "nativeSrc": "40591:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40591:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40568:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40568:6:84"
                    },
                    "nativeSrc": "40568:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40568:58:84"
                  },
                  "nativeSrc": "40568:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40568:58:84"
                },
                {
                  "nativeSrc": "40635:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40635:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40667:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40667:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40674:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40674:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40663:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40663:3:84"
                        },
                        "nativeSrc": "40663:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40663:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40657:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40657:5:84"
                    },
                    "nativeSrc": "40657:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40657:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "40639:14:84",
                      "nodeType": "YulTypedName",
                      "src": "40639:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40689:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40689:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40699:18:84",
                    "nodeType": "YulLiteral",
                    "src": "40699:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40693:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40693:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40737:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40737:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40742:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40742:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40733:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40733:3:84"
                        },
                        "nativeSrc": "40733:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40733:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "40753:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "40753:14:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40769:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40769:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40749:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40749:3:84"
                        },
                        "nativeSrc": "40749:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40749:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40726:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40726:6:84"
                    },
                    "nativeSrc": "40726:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40726:47:84"
                  },
                  "nativeSrc": "40726:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40726:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40793:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40793:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40798:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40798:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40789:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40789:3:84"
                        },
                        "nativeSrc": "40789:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40789:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40819:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40819:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40826:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40826:4:84",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40815:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40815:3:84"
                                },
                                "nativeSrc": "40815:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40815:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40809:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40809:5:84"
                            },
                            "nativeSrc": "40809:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40809:23:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40834:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40834:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40805:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40805:3:84"
                        },
                        "nativeSrc": "40805:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40805:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40782:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40782:6:84"
                    },
                    "nativeSrc": "40782:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40782:56:84"
                  },
                  "nativeSrc": "40782:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40782:56:84"
                },
                {
                  "nativeSrc": "40847:11:84",
                  "nodeType": "YulAssignment",
                  "src": "40847:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "40854:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "40854:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "40847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40847:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "40085:779:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "40117:5:84",
                "nodeType": "YulTypedName",
                "src": "40117:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "40124:3:84",
                "nodeType": "YulTypedName",
                "src": "40124:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "40132:3:84",
                "nodeType": "YulTypedName",
                "src": "40132:3:84",
                "type": ""
              }
            ],
            "src": "40085:779:84"
          },
          {
            "body": {
              "nativeSrc": "41174:374:84",
              "nodeType": "YulBlock",
              "src": "41174:374:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41191:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41191:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "41202:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41202:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41184:6:84"
                    },
                    "nativeSrc": "41184:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41184:25:84"
                  },
                  "nativeSrc": "41184:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41184:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41229:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41229:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41240:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41240:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41225:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41225:3:84"
                        },
                        "nativeSrc": "41225:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41225:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41249:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41249:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41257:18:84",
                            "nodeType": "YulLiteral",
                            "src": "41257:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41245:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41245:3:84"
                        },
                        "nativeSrc": "41245:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41245:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41218:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41218:6:84"
                    },
                    "nativeSrc": "41218:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41218:59:84"
                  },
                  "nativeSrc": "41218:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41218:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41297:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41297:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41308:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41308:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41293:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41293:3:84"
                        },
                        "nativeSrc": "41293:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41293:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41313:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41313:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41286:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41286:6:84"
                    },
                    "nativeSrc": "41286:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41286:34:84"
                  },
                  "nativeSrc": "41286:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41286:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41340:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41340:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41351:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41351:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41336:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41336:3:84"
                        },
                        "nativeSrc": "41336:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41336:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41356:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41356:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41329:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41329:6:84"
                    },
                    "nativeSrc": "41329:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41329:34:84"
                  },
                  "nativeSrc": "41329:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41329:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41405:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41405:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41417:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41417:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41428:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41428:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41413:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41413:3:84"
                        },
                        "nativeSrc": "41413:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41413:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "41372:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "41372:32:84"
                    },
                    "nativeSrc": "41372:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41372:61:84"
                  },
                  "nativeSrc": "41372:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41372:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41453:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41453:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41464:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41464:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41449:3:84"
                        },
                        "nativeSrc": "41449:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41449:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41470:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41470:3:84",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41442:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41442:6:84"
                    },
                    "nativeSrc": "41442:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41442:32:84"
                  },
                  "nativeSrc": "41442:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41442:32:84"
                },
                {
                  "nativeSrc": "41483:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41483:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "41514:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41514:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41526:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41537:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41537:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41522:3:84"
                        },
                        "nativeSrc": "41522:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41522:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41491:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41491:22:84"
                    },
                    "nativeSrc": "41491:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41491:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41483:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41483:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "40869:679:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41103:9:84",
                "nodeType": "YulTypedName",
                "src": "41103:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "41114:6:84",
                "nodeType": "YulTypedName",
                "src": "41114:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41122:6:84",
                "nodeType": "YulTypedName",
                "src": "41122:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41130:6:84",
                "nodeType": "YulTypedName",
                "src": "41130:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41138:6:84",
                "nodeType": "YulTypedName",
                "src": "41138:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41146:6:84",
                "nodeType": "YulTypedName",
                "src": "41146:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41154:6:84",
                "nodeType": "YulTypedName",
                "src": "41154:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41165:4:84",
                "nodeType": "YulTypedName",
                "src": "41165:4:84",
                "type": ""
              }
            ],
            "src": "40869:679:84"
          },
          {
            "body": {
              "nativeSrc": "41810:304:84",
              "nodeType": "YulBlock",
              "src": "41810:304:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41827:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41827:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "41838:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41838:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41820:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41820:6:84"
                    },
                    "nativeSrc": "41820:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41820:25:84"
                  },
                  "nativeSrc": "41820:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41820:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41865:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41865:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41876:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41876:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41861:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41861:3:84"
                        },
                        "nativeSrc": "41861:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41861:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41885:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41885:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41893:18:84",
                            "nodeType": "YulLiteral",
                            "src": "41893:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41881:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41881:3:84"
                        },
                        "nativeSrc": "41881:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41881:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41854:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41854:6:84"
                    },
                    "nativeSrc": "41854:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41854:59:84"
                  },
                  "nativeSrc": "41854:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41854:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41933:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41933:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41944:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41944:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41929:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41929:3:84"
                        },
                        "nativeSrc": "41929:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41929:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41949:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41949:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41922:6:84"
                    },
                    "nativeSrc": "41922:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41922:34:84"
                  },
                  "nativeSrc": "41922:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41922:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "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": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41972:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41972:3:84"
                        },
                        "nativeSrc": "41972:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41972:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41992:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41992:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41965:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41965:6:84"
                    },
                    "nativeSrc": "41965:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41965:34:84"
                  },
                  "nativeSrc": "41965:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41965:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42019:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42030:3:84",
                            "nodeType": "YulLiteral",
                            "src": "42030:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42015:3:84"
                        },
                        "nativeSrc": "42015:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42015:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42036:3:84",
                        "nodeType": "YulLiteral",
                        "src": "42036:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42008:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42008:6:84"
                    },
                    "nativeSrc": "42008:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42008:32:84"
                  },
                  "nativeSrc": "42008:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42008:32:84"
                },
                {
                  "nativeSrc": "42049:59:84",
                  "nodeType": "YulAssignment",
                  "src": "42049:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "42080:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42080:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42092:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42092:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42103:3:84",
                            "nodeType": "YulLiteral",
                            "src": "42103:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42088:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42088:3:84"
                        },
                        "nativeSrc": "42088:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42088:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "42057:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "42057:22:84"
                    },
                    "nativeSrc": "42057:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42057:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42049:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42049:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "41553:561:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41747:9:84",
                "nodeType": "YulTypedName",
                "src": "41747:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41758:6:84",
                "nodeType": "YulTypedName",
                "src": "41758:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41766:6:84",
                "nodeType": "YulTypedName",
                "src": "41766:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41774:6:84",
                "nodeType": "YulTypedName",
                "src": "41774:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41782:6:84",
                "nodeType": "YulTypedName",
                "src": "41782:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41790:6:84",
                "nodeType": "YulTypedName",
                "src": "41790:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41801:4:84",
                "nodeType": "YulTypedName",
                "src": "41801:4:84",
                "type": ""
              }
            ],
            "src": "41553:561:84"
          },
          {
            "body": {
              "nativeSrc": "42168:79:84",
              "nodeType": "YulBlock",
              "src": "42168:79:84",
              "statements": [
                {
                  "nativeSrc": "42178:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42178:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "42190:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42190:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "42193:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42193:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "42186:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42186:3:84"
                    },
                    "nativeSrc": "42186:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42186:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "42178:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "42178:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42219:22:84",
                    "nodeType": "YulBlock",
                    "src": "42219:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "42221:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42221:16:84"
                          },
                          "nativeSrc": "42221:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42221:18:84"
                        },
                        "nativeSrc": "42221:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42221:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "42210:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42210:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "42216:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "42216:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42207:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42207:2:84"
                    },
                    "nativeSrc": "42207:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42207:11:84"
                  },
                  "nativeSrc": "42204:37:84",
                  "nodeType": "YulIf",
                  "src": "42204:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "42119:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "42150:1:84",
                "nodeType": "YulTypedName",
                "src": "42150:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "42153:1:84",
                "nodeType": "YulTypedName",
                "src": "42153:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "42159:4:84",
                "nodeType": "YulTypedName",
                "src": "42159:4:84",
                "type": ""
              }
            ],
            "src": "42119:128:84"
          },
          {
            "body": {
              "nativeSrc": "42346:1247:84",
              "nodeType": "YulBlock",
              "src": "42346:1247:84",
              "statements": [
                {
                  "nativeSrc": "42356:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42356:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "42376:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "42376:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42370:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "42370:5:84"
                    },
                    "nativeSrc": "42370:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42370:10:84"
                  },
                  "variables": [
                    {
                      "name": "newLen",
                      "nativeSrc": "42360:6:84",
                      "nodeType": "YulTypedName",
                      "src": "42360:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42423:22:84",
                    "nodeType": "YulBlock",
                    "src": "42423:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "42425:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42425:16:84"
                          },
                          "nativeSrc": "42425:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42425:18:84"
                        },
                        "nativeSrc": "42425:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42425:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42395:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42395:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42403:18:84",
                        "nodeType": "YulLiteral",
                        "src": "42403:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42392:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42392:2:84"
                    },
                    "nativeSrc": "42392:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42392:30:84"
                  },
                  "nativeSrc": "42389:56:84",
                  "nodeType": "YulIf",
                  "src": "42389:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "42497:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42497:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "42535:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "42535:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "42529:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42529:5:84"
                            },
                            "nativeSrc": "42529:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42529:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "42503:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "42503:25:84"
                        },
                        "nativeSrc": "42503:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42503:38:84"
                      },
                      {
                        "name": "newLen",
                        "nativeSrc": "42543:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42543:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "42454:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "42454:42:84"
                    },
                    "nativeSrc": "42454:96:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42454:96:84"
                  },
                  "nativeSrc": "42454:96:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42454:96:84"
                },
                {
                  "nativeSrc": "42559:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42559:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42576:1:84",
                    "nodeType": "YulLiteral",
                    "src": "42576:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42563:9:84",
                      "nodeType": "YulTypedName",
                      "src": "42563:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42586:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42586:23:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42605:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42605:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "srcOffset_1",
                      "nativeSrc": "42590:11:84",
                      "nodeType": "YulTypedName",
                      "src": "42590:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42618:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42618:17:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42631:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42631:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variableNames": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42618:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "42618:9:84"
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "42681:655:84",
                        "nodeType": "YulBlock",
                        "src": "42681:655:84",
                        "statements": [
                          {
                            "nativeSrc": "42695:35:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42695:35:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42714:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42714:6:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "42726:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "42726:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "42722:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42722:3:84"
                                  },
                                  "nativeSrc": "42722:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "42722:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "42710:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "42710:3:84"
                              },
                              "nativeSrc": "42710:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42710:20:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "42699:7:84",
                                "nodeType": "YulTypedName",
                                "src": "42699:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42743:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42743:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "42786:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42786:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "42757:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "42757:28:84"
                              },
                              "nativeSrc": "42757:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42757:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "42747:6:84",
                                "nodeType": "YulTypedName",
                                "src": "42747:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42804:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42804:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "42813:1:84",
                              "nodeType": "YulLiteral",
                              "src": "42813:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "42808:1:84",
                                "nodeType": "YulTypedName",
                                "src": "42808:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "42891:172:84",
                              "nodeType": "YulBlock",
                              "src": "42891:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42916:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42916:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "42934:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42934:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "42939:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42939:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "42930:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42930:3:84"
                                            },
                                            "nativeSrc": "42930:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42930:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "mload",
                                          "nativeSrc": "42924:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42924:5:84"
                                        },
                                        "nativeSrc": "42924:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42924:26:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42909:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42909:6:84"
                                    },
                                    "nativeSrc": "42909:42:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42909:42:84"
                                  },
                                  "nativeSrc": "42909:42:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42909:42:84"
                                },
                                {
                                  "nativeSrc": "42968:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42968:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42982:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42982:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "42990:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "42990:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42978:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42978:3:84"
                                    },
                                    "nativeSrc": "42978:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42978:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "42968:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42968:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "43009:40:84",
                                  "nodeType": "YulAssignment",
                                  "src": "43009:40:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "43026:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43026:9:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "43037:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43037:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "43022:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43022:3:84"
                                    },
                                    "nativeSrc": "43022:27:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43022:27:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "43009:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43009:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "42838:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42838:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42841:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42841:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42835:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42835:2:84"
                              },
                              "nativeSrc": "42835:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42835:14:84"
                            },
                            "nativeSrc": "42827:236:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "42850:28:84",
                              "nodeType": "YulBlock",
                              "src": "42850:28:84",
                              "statements": [
                                {
                                  "nativeSrc": "42852:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42852:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "42861:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42861:1:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42864:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42864:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42857:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42857:3:84"
                                    },
                                    "nativeSrc": "42857:19:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42857:19:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "42852:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42852:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "42831:3:84",
                              "nodeType": "YulBlock",
                              "src": "42831:3:84",
                              "statements": []
                            },
                            "src": "42827:236:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "43111:166:84",
                              "nodeType": "YulBlock",
                              "src": "43111:166:84",
                              "statements": [
                                {
                                  "nativeSrc": "43129:43:84",
                                  "nodeType": "YulVariableDeclaration",
                                  "src": "43129:43:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "43156:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43156:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "43161:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43161:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "43152:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43152:3:84"
                                        },
                                        "nativeSrc": "43152:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43152:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "43146:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43146:5:84"
                                    },
                                    "nativeSrc": "43146:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43146:26:84"
                                  },
                                  "variables": [
                                    {
                                      "name": "lastValue",
                                      "nativeSrc": "43133:9:84",
                                      "nodeType": "YulTypedName",
                                      "src": "43133:9:84",
                                      "type": ""
                                    }
                                  ]
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "43196:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43196:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "lastValue",
                                            "nativeSrc": "43208:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43208:9:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "43235:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "43235:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "newLen",
                                                            "nativeSrc": "43238:6:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "43238:6:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "43231:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "43231:3:84"
                                                        },
                                                        "nativeSrc": "43231:14:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "43231:14:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "43247:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "43247:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "43227:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "43227:3:84"
                                                    },
                                                    "nativeSrc": "43227:24:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "43227:24:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "43257:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "43257:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "43253:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "43253:3:84"
                                                    },
                                                    "nativeSrc": "43253:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "43253:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "43223:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "43223:3:84"
                                                },
                                                "nativeSrc": "43223:37:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "43223:37:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "43219:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "43219:3:84"
                                            },
                                            "nativeSrc": "43219:42:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "43219:42:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "43204:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43204:3:84"
                                        },
                                        "nativeSrc": "43204:58:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43204:58:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "43189:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43189:6:84"
                                    },
                                    "nativeSrc": "43189:74:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43189:74:84"
                                  },
                                  "nativeSrc": "43189:74:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "43189:74:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "43082:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43082:7:84"
                                },
                                {
                                  "name": "newLen",
                                  "nativeSrc": "43091:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43091:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "43079:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "43079:2:84"
                              },
                              "nativeSrc": "43079:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43079:19:84"
                            },
                            "nativeSrc": "43076:201:84",
                            "nodeType": "YulIf",
                            "src": "43076:201:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43297:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43297:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "43311:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "43311:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "newLen",
                                          "nativeSrc": "43314:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43314:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "43307:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43307:3:84"
                                      },
                                      "nativeSrc": "43307:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "43307:14:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "43323:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "43323:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "43303:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43303:3:84"
                                  },
                                  "nativeSrc": "43303:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43303:22:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43290:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43290:6:84"
                              },
                              "nativeSrc": "43290:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43290:36:84"
                            },
                            "nativeSrc": "43290:36:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43290:36:84"
                          }
                        ]
                      },
                      "nativeSrc": "42674:662:84",
                      "nodeType": "YulCase",
                      "src": "42674:662:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "42679:1:84",
                        "nodeType": "YulLiteral",
                        "src": "42679:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "43353:234:84",
                        "nodeType": "YulBlock",
                        "src": "43353:234:84",
                        "statements": [
                          {
                            "nativeSrc": "43367:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "43367:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43380:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43380:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "43371:5:84",
                                "nodeType": "YulTypedName",
                                "src": "43371:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "43416:67:84",
                              "nodeType": "YulBlock",
                              "src": "43416:67:84",
                              "statements": [
                                {
                                  "nativeSrc": "43434:35:84",
                                  "nodeType": "YulAssignment",
                                  "src": "43434:35:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "43453:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43453:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "43458:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43458:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "43449:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43449:3:84"
                                        },
                                        "nativeSrc": "43449:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43449:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "43443:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43443:5:84"
                                    },
                                    "nativeSrc": "43443:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43443:26:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43434:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43434:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "newLen",
                              "nativeSrc": "43397:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "43397:6:84"
                            },
                            "nativeSrc": "43394:89:84",
                            "nodeType": "YulIf",
                            "src": "43394:89:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43503:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43503:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43562:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43562:5:84"
                                    },
                                    {
                                      "name": "newLen",
                                      "nativeSrc": "43569:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43569:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "43509:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43509:52:84"
                                  },
                                  "nativeSrc": "43509:67:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43509:67:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43496:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43496:6:84"
                              },
                              "nativeSrc": "43496:81:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43496:81:84"
                            },
                            "nativeSrc": "43496:81:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43496:81:84"
                          }
                        ]
                      },
                      "nativeSrc": "43345:242:84",
                      "nodeType": "YulCase",
                      "src": "43345:242:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42654:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42654:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42662:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42662:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42651:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42651:2:84"
                    },
                    "nativeSrc": "42651:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42651:14:84"
                  },
                  "nativeSrc": "42644:943:84",
                  "nodeType": "YulSwitch",
                  "src": "42644:943:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
            "nativeSrc": "42252:1341:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "42331:4:84",
                "nodeType": "YulTypedName",
                "src": "42331:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "42337:3:84",
                "nodeType": "YulTypedName",
                "src": "42337:3:84",
                "type": ""
              }
            ],
            "src": "42252:1341:84"
          },
          {
            "body": {
              "nativeSrc": "43723:141:84",
              "nodeType": "YulBlock",
              "src": "43723:141:84",
              "statements": [
                {
                  "nativeSrc": "43733:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43733:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43745:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43745:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43756:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43756:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43741:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43741:3:84"
                    },
                    "nativeSrc": "43741:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43741:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43733:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43733:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43775:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43775:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43790:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43790:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43798:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43798:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43786:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43786:3:84"
                        },
                        "nativeSrc": "43786:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43786:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43768:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43768:6:84"
                    },
                    "nativeSrc": "43768:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43768:36:84"
                  },
                  "nativeSrc": "43768:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43768:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43824:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43824:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43835:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43835:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43820:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43820:3:84"
                        },
                        "nativeSrc": "43820:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43820:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43844:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43844:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43852:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43852:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43840:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43840:3:84"
                        },
                        "nativeSrc": "43840:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43840:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43813:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43813:6:84"
                    },
                    "nativeSrc": "43813:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43813:45:84"
                  },
                  "nativeSrc": "43813:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43813:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "43598:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43684:9:84",
                "nodeType": "YulTypedName",
                "src": "43684:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43695:6:84",
                "nodeType": "YulTypedName",
                "src": "43695:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43703:6:84",
                "nodeType": "YulTypedName",
                "src": "43703:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43714:4:84",
                "nodeType": "YulTypedName",
                "src": "43714:4:84",
                "type": ""
              }
            ],
            "src": "43598:266:84"
          },
          {
            "body": {
              "nativeSrc": "43916:133:84",
              "nodeType": "YulBlock",
              "src": "43916:133:84",
              "statements": [
                {
                  "nativeSrc": "43926:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43926:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43936:18:84",
                    "nodeType": "YulLiteral",
                    "src": "43936:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43930:2:84",
                      "nodeType": "YulTypedName",
                      "src": "43930:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "43963:34:84",
                  "nodeType": "YulAssignment",
                  "src": "43963:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "43978:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43978:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43981:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43981:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43974:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43974:3:84"
                        },
                        "nativeSrc": "43974:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43974:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "43990:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43990:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43993:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43993:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43986:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43986:3:84"
                        },
                        "nativeSrc": "43986:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43986:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43970:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43970:3:84"
                    },
                    "nativeSrc": "43970:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43970:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "43963:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43963:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44021:22:84",
                    "nodeType": "YulBlock",
                    "src": "44021:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44023:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44023:16:84"
                          },
                          "nativeSrc": "44023:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44023:18:84"
                        },
                        "nativeSrc": "44023:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44023:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "44012:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "44012:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "44017:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "44017:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44009:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44009:2:84"
                    },
                    "nativeSrc": "44009:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44009:11:84"
                  },
                  "nativeSrc": "44006:37:84",
                  "nodeType": "YulIf",
                  "src": "44006:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "43869:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43899:1:84",
                "nodeType": "YulTypedName",
                "src": "43899:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43902:1:84",
                "nodeType": "YulTypedName",
                "src": "43902:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "43908:3:84",
                "nodeType": "YulTypedName",
                "src": "43908:3:84",
                "type": ""
              }
            ],
            "src": "43869:180:84"
          },
          {
            "body": {
              "nativeSrc": "44153:87:84",
              "nodeType": "YulBlock",
              "src": "44153:87:84",
              "statements": [
                {
                  "nativeSrc": "44163:26:84",
                  "nodeType": "YulAssignment",
                  "src": "44163:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44175:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44175:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44186:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44186:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44171:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44171:3:84"
                    },
                    "nativeSrc": "44171:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44171:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "44163:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44163:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44205:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44205:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "44220:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "44220:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44228:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44228:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44216:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44216:3:84"
                        },
                        "nativeSrc": "44216:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44216:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44198:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44198:6:84"
                    },
                    "nativeSrc": "44198:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44198:36:84"
                  },
                  "nativeSrc": "44198:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44198:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "44054:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44122:9:84",
                "nodeType": "YulTypedName",
                "src": "44122:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "44133:6:84",
                "nodeType": "YulTypedName",
                "src": "44133:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "44144:4:84",
                "nodeType": "YulTypedName",
                "src": "44144:4:84",
                "type": ""
              }
            ],
            "src": "44054:186:84"
          },
          {
            "body": {
              "nativeSrc": "44283:74:84",
              "nodeType": "YulBlock",
              "src": "44283:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44306:22:84",
                    "nodeType": "YulBlock",
                    "src": "44306:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "44308:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44308:16:84"
                          },
                          "nativeSrc": "44308:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44308:18:84"
                        },
                        "nativeSrc": "44308:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44308:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "44303:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44303:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "44296:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44296:6:84"
                    },
                    "nativeSrc": "44296:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44296:9:84"
                  },
                  "nativeSrc": "44293:35:84",
                  "nodeType": "YulIf",
                  "src": "44293:35:84"
                },
                {
                  "nativeSrc": "44337:14:84",
                  "nodeType": "YulAssignment",
                  "src": "44337:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "44346:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44346:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "44349:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44349:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "44342:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44342:3:84"
                    },
                    "nativeSrc": "44342:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44342:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "44337:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "44337:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "44245:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "44268:1:84",
                "nodeType": "YulTypedName",
                "src": "44268:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "44271:1:84",
                "nodeType": "YulTypedName",
                "src": "44271:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "44277:1:84",
                "nodeType": "YulTypedName",
                "src": "44277:1:84",
                "type": ""
              }
            ],
            "src": "44245:112:84"
          },
          {
            "body": {
              "nativeSrc": "44536:229:84",
              "nodeType": "YulBlock",
              "src": "44536:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44553:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44553:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44564:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44564:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44546:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44546:6:84"
                    },
                    "nativeSrc": "44546:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44546:21:84"
                  },
                  "nativeSrc": "44546:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44546:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44587:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44587:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44598:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44598:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44583:3:84"
                        },
                        "nativeSrc": "44583:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44583:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44603:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44603:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44576:6:84"
                    },
                    "nativeSrc": "44576:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44576:30:84"
                  },
                  "nativeSrc": "44576:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44576:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44626:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44626:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44637:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44637:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44622:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44622:3:84"
                        },
                        "nativeSrc": "44622:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44622:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "44642:34:84",
                        "nodeType": "YulLiteral",
                        "src": "44642:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44615:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44615:6:84"
                    },
                    "nativeSrc": "44615:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44615:62:84"
                  },
                  "nativeSrc": "44615:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44615:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44697:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44697:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44708:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44708:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44693:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44693:3:84"
                        },
                        "nativeSrc": "44693:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44693:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "44713:9:84",
                        "nodeType": "YulLiteral",
                        "src": "44713:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44686:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44686:6:84"
                    },
                    "nativeSrc": "44686:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44686:37:84"
                  },
                  "nativeSrc": "44686:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44686:37:84"
                },
                {
                  "nativeSrc": "44732:27:84",
                  "nodeType": "YulAssignment",
                  "src": "44732:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44744:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44744:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44755:3:84",
                        "nodeType": "YulLiteral",
                        "src": "44755:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44740:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44740:3:84"
                    },
                    "nativeSrc": "44740:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44740:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "44732:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44732:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "44362:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44513:9:84",
                "nodeType": "YulTypedName",
                "src": "44513:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "44527:4:84",
                "nodeType": "YulTypedName",
                "src": "44527:4:84",
                "type": ""
              }
            ],
            "src": "44362:403:84"
          },
          {
            "body": {
              "nativeSrc": "44817:104:84",
              "nodeType": "YulBlock",
              "src": "44817:104:84",
              "statements": [
                {
                  "nativeSrc": "44827:39:84",
                  "nodeType": "YulAssignment",
                  "src": "44827:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "44843:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44843:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44846:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44846:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44839:3:84"
                        },
                        "nativeSrc": "44839:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44839:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "44857:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44857:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44860:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44860:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44853:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44853:3:84"
                        },
                        "nativeSrc": "44853:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44853:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "44835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44835:3:84"
                    },
                    "nativeSrc": "44835:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44835:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "44827:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44827:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44893:22:84",
                    "nodeType": "YulBlock",
                    "src": "44893:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44895:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44895:16:84"
                          },
                          "nativeSrc": "44895:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44895:18:84"
                        },
                        "nativeSrc": "44895:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44895:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "44881:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "44881:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44887:4:84",
                        "nodeType": "YulLiteral",
                        "src": "44887:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44878:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44878:2:84"
                    },
                    "nativeSrc": "44878:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44878:14:84"
                  },
                  "nativeSrc": "44875:40:84",
                  "nodeType": "YulIf",
                  "src": "44875:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "44770:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "44799:1:84",
                "nodeType": "YulTypedName",
                "src": "44799:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "44802:1:84",
                "nodeType": "YulTypedName",
                "src": "44802:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "44808:4:84",
                "nodeType": "YulTypedName",
                "src": "44808:4:84",
                "type": ""
              }
            ],
            "src": "44770:151:84"
          }
        ]
      },
      "contents": "{\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_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, \"not implemented: 0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 19), length_1)\n        let _2 := add(_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_2, 19), length_2)\n        let _3 := add(_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), add(_3, 19), length_3)\n        end := add(add(_3, length_3), 19)\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_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_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_decode_uint24(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint24(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_array_struct_BatchResult_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_array$_t_struct$_BatchResult_$13391_calldata_ptr_$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_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\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_bytes(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_struct_Response(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffff))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_bytes(memberValue0, add(pos, 0xa0))\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        tail := abi_encode_struct_Response(value0, add(headStart, 32))\n    }\n    function abi_encode_struct_Request(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffffffffffffff))\n        let memberValue0 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), 0xe0)\n        let tail := abi_encode_bytes(memberValue0, add(pos, 0xe0))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n        let memberValue0_1 := mload(add(value, 0xa0))\n        mstore(add(pos, 0xa0), and(mload(memberValue0_1), 0xff))\n        mstore(add(pos, 192), and(mload(add(memberValue0_1, 0x20)), 0xffffffffffffffff))\n        end := tail\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        tail := abi_encode_struct_Request(value0, add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ResponseStatus(value, pos)\n    {\n        if iszero(lt(value, 6)) { panic_error_0x21() }\n        mstore(pos, value)\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 panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\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 array_allocation_size_array_address_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_address_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(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 := calldataload(_2)\n        let _4 := array_allocation_size_array_address_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            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\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_bytes32t_struct$_RadonSLA_$23503_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\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_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        let _2 := calldataload(_1)\n        let _3 := array_allocation_size_bytes(_2)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _3)\n        mstore(memPtr, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(memPtr, 32), add(_1, 32), _2)\n        mstore(add(add(memPtr, _2), 32), 0)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$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_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_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 tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_encode_enum_QueryStatus(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$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_enum_QueryStatus(mload(srcPtr), pos)\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_contract$_WitnetMockedRequestFactory_$23833(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_decode_bytes_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 abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\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_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 validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint16(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint16(value)\n        value1 := value\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_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 128) { 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_array_struct_BatchResult_calldata_dyn_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_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 64))\n        value5 := calldataload(add(headStart, 96))\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_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        value2 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value3 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_enum_ResultErrorCodes(value, pos)\n    {\n        if iszero(lt(value, 255)) { panic_error_0x21() }\n        mstore(pos, value)\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        abi_encode_enum_ResultErrorCodes(mload(value0), add(headStart, 32))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_bytes(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let memberValue0 := mload(value0)\n        mstore(add(headStart, 32), 0x40)\n        let tail_1 := abi_encode_struct_Request(memberValue0, add(headStart, 96))\n        let memberValue0_1 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), add(sub(tail_1, headStart), not(31)))\n        tail := abi_encode_struct_Response(memberValue0_1, tail_1)\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint32(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__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_contract$_IERC20_$479__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value2 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        mstore(end_1, \": \")\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(end_1, 2), length_1)\n        end := add(add(end_1, length_1), 2)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\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_div_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xff), y_1)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function mod_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := mod(and(x, 0xff), y_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 checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr(base_ref, ptr_to_tail) -> addr\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(126)))) { revert(0, 0) }\n        addr := add(base_ref, rel_offset_of_tail)\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\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_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_bytes(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_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        let end_1 := add(pos, length)\n        mstore(end_1, \": invalid report data\")\n        end := add(end_1, 21)\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_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$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            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { 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_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_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        let value := calldataload(value2)\n        validator_revert_uint8(value)\n        mstore(add(headStart, 64), and(value, 0xff))\n        let value_1 := calldataload(add(value2, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(headStart, 96), and(value_1, 0xffffffffffffffff))\n    }\n    function abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_array$_t_address_$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_address_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            let value := mload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetOracle_$749_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_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 abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), value2)\n        if gt(value2, sub(shl(251, 1), 1)) { revert(0, 0) }\n        let length := shl(5, value2)\n        calldatacopy(add(headStart, 96), value1, length)\n        tail := add(add(headStart, length), 96)\n    }\n    function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$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        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let _5 := array_allocation_size_array_address_dyn(_4)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _5)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_3, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\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_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint16(x, y) -> diff\n    {\n        let _1 := 0xffff\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_div_t_uint16(x, y) -> r\n    {\n        let _1 := 0xffff\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 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_decode_tuple_t_uint16_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function array_dataslot_bytes_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_bytes_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_bytes_calldata_ptr_to_t_bytes_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_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_bytes_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 abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        abi_encode_enum_ResponseStatus(value0, headStart)\n        let _1 := 32\n        mstore(add(headStart, 32), 64)\n        let ret := 0\n        let slotValue := sload(value1)\n        let length := extract_byte_array_length(slotValue)\n        mstore(add(headStart, 64), length)\n        let _2 := 96\n        let _3 := 1\n        switch and(slotValue, 1)\n        case 0 {\n            mstore(add(headStart, 96), and(slotValue, not(255)))\n            ret := add(add(headStart, shl(5, iszero(iszero(length)))), 96)\n        }\n        case 1 {\n            mstore(0, value1)\n            let dataPos := keccak256(0, 32)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _1) }\n            {\n                mstore(add(add(headStart, i), _2), sload(dataPos))\n                dataPos := add(dataPos, _3)\n            }\n            ret := add(add(headStart, i), 96)\n        }\n        tail := ret\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        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\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 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_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetErrorsLib: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 17), length)\n        end := add(add(pos, length), 17)\n    }\n    function checked_add_t_uint72(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffffff\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_uint72__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), and(value1, 0xffffffffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_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_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 160)\n        mstore(add(headStart, 160), value2)\n        calldatacopy(add(headStart, 192), value1, value2)\n        mstore(add(add(headStart, value2), 192), 0)\n        let _1 := add(headStart, and(add(value2, 31), not(31)))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), add(sub(_1, headStart), 192))\n        tail := abi_encode_bytes(value5, add(_1, 192))\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 increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\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 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 abi_encode_struct_CBOR(value, pos) -> end\n    {\n        let memberValue0 := mload(value)\n        mstore(pos, 0xc0)\n        let memberValue0_1 := mload(memberValue0)\n        mstore(add(pos, 0xc0), 0x40)\n        let tail := abi_encode_bytes(memberValue0_1, add(pos, 256))\n        mstore(add(pos, 224), mload(add(memberValue0, 0x20)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xff))\n        let memberValue0_2 := mload(add(value, 0x80))\n        let _1 := 0xffffffffffffffff\n        mstore(add(pos, 0x80), and(memberValue0_2, _1))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), _1))\n        end := tail\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        abi_encode_enum_ResultErrorCodes(value4, add(headStart, 128))\n        mstore(add(headStart, 160), 192)\n        tail := abi_encode_struct_CBOR(value5, add(headStart, 192))\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_struct_CBOR(value4, add(headStart, 160))\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 copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := 0x20\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\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 checked_add_t_uint64(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\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    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"WitnetCBOR.skip: unsupported maj\")\n        mstore(add(headStart, 96), \"or type\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "599:845:71:-:0;;;675:10:28;639:46;;-1:-1:-1;;;1345:72:36;;728:444:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;862:1;912:9;938:5;-1:-1:-1;;;990:5:71;997;1004;1011;1491:8:37;1515:9;1539:11;1566;1601:1;3369:9:36;3424:11;3450;694:288:28;;;;;;;;;;;;;;;;;846:11;3339:10:36;1297:1:1;-1:-1:-1;;;;;1273:26:1;:12;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;493:51:84;466: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;;;;;344:28:80;;;;;3531:20:36;;::::3;;::::0;-1:-1:-1;3562:20:36;;;::::3;;::::0;-1:-1:-1;;;1634:44:37::1;::::0;;;;1689:68:::1;::::0;;;;1768:80:::1;::::0;1859:40:::1;::::0;1264:13:83;;-1:-1:-1;1857:1:4;-1:-1:-1;1074:16:71::1;::::0;-1:-1:-1;;1074:16:71;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;1074:16:71::1;;1044:46;;1117:10;1101;1112:1;1101:13;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1101:26:71;;::::1;:13;::::0;;::::1;::::0;;;;;;;:26;1138::::1;1153:10:::0;1138:14:::1;:26::i;:::-;1033:139;728:444:::0;599:845;;1478:156:79;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;:::-;1478:156;:::o;38665:306:36:-;38765:7;38760:164;38783:10;:17;38778:2;:22;38760:164;;;38824:17;38844:10;38855:2;38844:14;;;;;;;;:::i;:::-;;;;;;;38824:34;;38908:4;38873:11;:9;;;:11;;:::i;:::-;-1:-1:-1;;;;;38873:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;38873:39:36;;;;;;;;;;-1:-1:-1;38802:5:36;38760:164;;;;38939:24;38952:10;38939:24;;;;;;:::i;:::-;;;;;;;;38665:306;:::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;39054:144:36:-;1097:28:41;;39054:144:36:o;14:328:84:-;122:6;175:2;163:9;154:7;150:23;146:32;143:52;;;191:1;188;181:12;143:52;217:16;;-1:-1:-1;;;;;262:31:84;;252:42;;242:70;;308:1;305;298:12;242:70;331:5;14:328;-1:-1:-1;;;14:328:84:o;687:127::-;748:10;743:3;739:20;736:1;729:31;779:4;776:1;769:15;803:4;800:1;793:15;819:658;990:2;1042:21;;;1112:13;;1015:18;;;1134:22;;;961:4;;990:2;1213:15;;;;1187:2;1172:18;;;961:4;1256:195;1270:6;1267:1;1264:13;1256:195;;;1335:13;;-1:-1:-1;;;;;1331:39:84;1319:52;;1426:15;;;;1391:12;;;;1367:1;1285:9;1256:195;;;-1:-1:-1;1468:3:84;;819:658;-1:-1:-1;;;;;;819:658:84:o;:::-;599:845:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "599:845:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3637:32:36;;;:7;:32::i;:::-;599:845:71;;;;;;;;;;;-1:-1:-1;4058:325:36;4140:42;4172:7;;4159:22;;4140:18;:42::i;:::-;4197:47;4216:27;4229:7;;4216:27;;;4197:18;:47::i;:::-;4259:48;4278:28;4291:7;;4278:28;;;4259:18;:48::i;:::-;4322;4341:28;4354:7;;4341:28;;;4322:18;:48::i;:::-;4073:308;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4058:7;:325::i;29533:142::-;;;;;;;;;;-1:-1:-1;29533:142:36;;;;;:::i;:::-;;:::i;:::-;;;1899:14:84;;1892:22;1874:41;;1862:2;1847:18;29533:142:36;;;;;;;;3152:922:37;;;;;;;;;;-1:-1:-1;3152:922:37;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;3152:922:37;2349:177:84;27473:1666:36;;;;;;;;;;-1:-1:-1;27473:1666:36;;;;;:::i;:::-;;:::i;9818:398::-;;;;;;;;;;-1:-1:-1;9818:398:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10949:217::-;;;;;;;;;;-1:-1:-1;10949:217:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12089:227::-;;;;;;;;;;-1:-1:-1;12089:227:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30388:344::-;;;;;;;;;;-1:-1:-1;30388:344:36;;;;;:::i;:::-;;:::i;15617:575::-;;;;;;:::i;:::-;;:::i;6426:1626::-;;;;;;;;;;-1:-1:-1;6426:1626:36;;;;;:::i;:::-;;:::i;23309:257::-;;;;;;;;;;-1:-1:-1;23309:257:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29950:154::-;;;;;;;;;;-1:-1:-1;29950:154:36;;;;;:::i;:::-;;:::i;1477:77:83:-;;;;;;;;;;-1:-1:-1;1541:5:83;1477:77;;;-1:-1:-1;;;;;10568:32:84;;;10550:51;;10538:2;10523:18;1477:77:83;10404:203:84;1799:47:28;;;;;;;;;;;;;;;1931:88:83;;;;;;;;;;-1:-1:-1;2000:11:83;1931:88;;2176:135:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14152:413:36:-;;;;;;;;;;-1:-1:-1;14152:413:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1294:147:71:-;;;;;;;;;;-1:-1:-1;1294:147:71;;;;;:::i;:::-;;:::i;24223:814:36:-;;;;;;;;;;-1:-1:-1;24223:814:36;;;;;:::i;:::-;;:::i;8139:271::-;;;;;;;;;;-1:-1:-1;8139:271:36;;;;;:::i;:::-;;:::i;13933:211::-;;;;;;;;;;-1:-1:-1;13933:211:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10589:213::-;;;;;;;;;;-1:-1:-1;10589:213:36;;;;;:::i;:::-;10709:7;10741:35;;;-1:-1:-1;;;;;;;;;;;10741:35:36;;;;;:53;-1:-1:-1;;;10741:53:36;;-1:-1:-1;;;;;10741:53:36;;10589:213;2293:101:1;;;;;;;;;;;;;:::i;1719:245:79:-;;;;;;;;;;;;;:::i;1424:57:36:-;;;;;;;;;;;;;;;4399:150;;;;;;;;;;-1:-1:-1;4499:40:36;;;4518:4;4499:40;;;;30537:51:84;;;;4525:13:36;30604:18:84;;;30597:34;4499:40:36;;;;;;;;;30510:18:84;;;;4499:40:36;;;4489:51;;;;;4399:150;;;-1:-1:-1;;;;;;13646:33:84;;;13628:52;;13616:2;13601:18;4399:150:36;13484:202:84;2495:370:37;;;;;;;;;;-1:-1:-1;2495:370:37;;;;;:::i;:::-;;:::i;12493:240:36:-;;;;;;;;;;-1:-1:-1;12493:240:36;;;;;:::i;:::-;;:::i;1638:85:1:-;;;;;;;;;;-1:-1:-1;1684:7:1;1710:6;-1:-1:-1;;;;;1710:6:1;1638:85;;21752:1341:36;;;;;;;;;;-1:-1:-1;21752:1341:36;;;;;:::i;:::-;;:::i;:::-;;;;15434:25:84;;;15490:2;15475:18;;15468:34;;;;15407:18;21752:1341:36;15260:248:84;9033:419:36;;;;;;;;;;-1:-1:-1;9033:419:36;;;;;:::i;:::-;;:::i;19674:853::-;;;;;;:::i;:::-;;:::i;12906:974::-;;;;;;;;;;-1:-1:-1;12906:974:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;1345:72:36;;;;;;;;;;;;;;;10307:190;;;;;;;;;;-1:-1:-1;10307:190:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25776:1038::-;;;;;;;;;;-1:-1:-1;25776:1038:36;;;;;:::i;:::-;;:::i;670:135:37:-;;;;;;;;;;;;;:::i;1180:106:71:-;;;;;;;;;;-1:-1:-1;1269:9:71;;-1:-1:-1;;;;;1269:9:71;1180:106;;14657:146:36;;;;;;;;;;;;;:::i;639:46:28:-;;;;;;;;;;;;;;;807:101:79;;;;;;;;;;-1:-1:-1;887:13:79;;-1:-1:-1;;;;;887:13:79;807:101;;161:32:80;;;;;;;;;;;;;;;17568:726:36;;;;;;:::i;:::-;;:::i;20769:423::-;;;;;;:::i;:::-;;:::i;1107:181:79:-;;;;;;;;;;-1:-1:-1;1107:181:79;;;;;:::i;:::-;;:::i;11403:225:36:-;;;;;;;;;;-1:-1:-1;11403:225:36;;;;;:::i;:::-;;:::i;2777:235:28:-;2920:7;:5;:7::i;:::-;2969:8;2885:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2885:107:28;;;;;;;;;;-1:-1:-1;;;2857:147:28;;;;;;;:::i;:::-;;;;;;;;19878:397:64;19999:12;;;20009:1;19999:12;;;;;;;;;19950:13;;19981:15;;19999:12;;;;;;;;;;;-1:-1:-1;;19981:30:64;-1:-1:-1;20022:8:64;20039:7;20044:2;20039;:7;:::i;:::-;20033:19;;20050:2;20033:19;:::i;:::-;20022:30;-1:-1:-1;20063:8:64;20080:7;20085:2;20080;:7;:::i;:::-;20074:19;;20091:2;20074:19;:::i;:::-;20063:30;;20113:2;20108;:7;;;20104:33;;;20130:7;20136:1;20130:7;;:::i;:::-;;;20104:33;20157:2;20152;:7;;;20148:33;;;20174:7;20180:1;20174:7;;:::i;:::-;;;20148:33;20207:2;20200:10;;20192:2;20195:1;20192:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20192:18:64;;;;;;;;;20236:2;20229:10;;20221:2;20224:1;20221:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20221:18:64;;;;;;;;-1:-1:-1;20264:2:64;;19878:397;-1:-1:-1;;;;19878:397:64:o;29533:142:36:-;-1:-1:-1;;;;;1232:22:41;;29602:4:36;1232:22:41;;;:16;:22;;;;;;;;29626:41:36;29619:48;29533:142;-1:-1:-1;;29533:142:36:o;3152:922:37:-;3299:7;;3443:23;3447:19;3443:1;:23;:::i;:::-;3384:82;;:39;:82;:::i;:::-;3324:153;;3526:37;3506:17;:57;;;:171;;;-1:-1:-1;3640:37:37;3584:53;;;;:33;:53;:::i;:::-;:93;3506:171;3488:579;;;3730:70;3763:37;3730:9;:70;:::i;:::-;3704:111;;;;;3488:579;3935:82;;;;:33;:82;:::i;:::-;3874:166;;:9;:166;:::i;3488:579::-;3313:761;3152:922;;;;:::o;27473:1666:36:-;27628:20;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;3010:10;2988:33;;;;:21;;;;;:33;;;;;;;;;;2965:105;;;;;;;;;;;-1:-1:-1;;;2965:105:36;;;;;;;2988:33;;;2965:8;:105::i;:::-;27672:7:::1;27666:1211;27685:25:::0;;::::1;27666:1211;;;27843:27;27756:62;27792:13;;27806:2;27792:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27756:35;:62::i;:::-;:114;;;;;;;;:::i;:::-;;27734:1132;;27910:179;27949:13;;27963:2;27949:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;27997:73;::::0;-1:-1:-1;;;27997:73:36;;27949:25;::::1;::::0;27997:19:::1;::::0;:44:::1;::::0;:73:::1;::::0;28042:27:::1;::::0;27997:73:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;27997:73:36::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;27910:179;;;;;;;:::i;:::-;;;;;;;;27734:1132;;;28133:13;;28147:2;28133:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;:43;;::::0;;:118:::1;;;28201:13;;28215:2;28201:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:50:::0;;-1:-1:-1;28133:118:36::1;28111:755;;;28291:238;28330:13;;28344:2;28330:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28429:7;:5;:7::i;:::-;28386:123;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;28386:123:36;;::::1;::::0;;;;;;;28291:238:::1;::::0;;::::1;:::i;28111:755::-;28586:264;28623:13;;28637:2;28623:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28671:13:::0;;28685:2;28671:17;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;28732:13;;28746:2;28732:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;;;28793:13;;28807:2;28793:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28586:14;:264::i;:::-;28570:280;::::0;;::::1;:::i;:::-;;;28111:755;27712:5;;27666:1211;;;-1:-1:-1::0;28987:16:36;;28983:149:::1;;29020:100;29063:10;29093:12;29020:16;:100::i;9818:398::-:0;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:14:36;9948:30;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2494:53:36;;;;;;;;;;;;:::i;:::-;2486:7;:62::i;:::-;2413:173;;;10003:14:::1;2717:139;2754:46;2791:8;2754:36;:46::i;:::-;:56:::0;2717:139:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2717:139:36::1;::::0;::::1;::::0;-1:-1:-1;;;;;2754:56:36;;::::1;2740:10;:70;::::0;2717:8:::1;:139::i;:::-;10101:45:::2;10131:14;10101:29;:45::i;:::-;10089:66;::::0;;::::2;::::0;::::2;::::0;;10101:54:::2;::::0;::::2;10089:66:::0;;-1:-1:-1;;;;;10089:66:36;::::2;::::0;;-1:-1:-1;;;10089:66:36;::::2;-1:-1:-1::0;;;;;10089:66:36::2;;::::0;::::2;::::0;-1:-1:-1;;;10089:66:36;::::2;;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;10173:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;10173:11:36::2;:35;::::0;;;:19:::2;::::0;;::::2;:35;::::0;;;;10166:42;;;10173:35;;;;;10166:42:::2;::::0;;::::2;10173:35:::0;10166:42:::2;:::i;:::-;-1:-1:-1::0;10166:42:36::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;10166:42:36;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;;;::::2;:::i;:::-;;;;;2575:1:::1;2413:173:::0;9818:398;;;;;:::o;10949:217::-;11058:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:23:36;11106:52;11143:14;11106:36;:52::i;:::-;11099:59;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;-1:-1:-1;;;11099:59:36;;;;;;;;-1:-1:-1;;;11099:59:36;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11099:59:36;;;-1:-1:-1;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;-1:-1:-1;;10949:217:36:o;12089:227::-;12201:23;12249:59;12293:14;12249:43;:59::i;30388:344::-;1531:13:1;:11;:13::i;:::-;30517:7:36::1;30512:169;30535:12;:19;30530:2;:24;30512:169;;;30578:17;30598:12;30611:2;30598:16;;;;;;;;:::i;:::-;;;;;;;30578:36;;30664:5;30629:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;30629:11:36::1;-1:-1:-1::0;;;;;30629:32:36;;;::::1;;::::0;;;:21:::1;::::0;;::::1;:32;::::0;;;;;:40;;-1:-1:-1;;30629:40:36::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;30556:5:36::1;30512:169;;;;30696:28;30711:12;30696:28;;;;;;:::i;:::-;;;;;;;;30388:344:::0;:::o;15617:575::-;15897:22;15806:42;4492:11:37;15838:9:36;15806:15;:42::i;:::-;1873:97;1914:8;4679:9:37;1896:14:36;:26;;1873:97;;;;;;;;;;;;;-1:-1:-1;;;1873:97:36;;;:8;:97::i;:::-;1982;2023:13;:8;2034:2;2023:13;:::i;:::-;4679:9:37;2005:31:36;;1982:97;;;;;;;;;;;;;-1:-1:-1;;;1982:97:36;;;:8;:97::i;:::-;15868:9:::1;2168:84;2191:21;2208:3;2191:16;:21::i;:::-;2168:84;;;;;;;;;;;;;-1:-1:-1::0;;;2168:84:36::1;;::::0;:8:::1;:84::i;:::-;15954:38:::2;15968:9;15979;15990:1;15954:13;:38::i;:::-;15937:55:::0;-1:-1:-1;16079:105:36::2;15937:55:::0;4679:9:37;16164::36::2;16079:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::1;15617:575:::0;;;;;:::o;6426:1626::-;6520:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;6555:30:36;1710:6:1;6598:617:36;;6696:29;6780:9;6769:39;;;;;;;;;;;;:::i;:::-;6740:68;;-1:-1:-1;6740:68:36;-1:-1:-1;6823:26:36;6740:68;6823:18;:26::i;:::-;6891:16;6880:41;;;;;;;;;;;;:::i;:::-;6864:57;;6624:309;6598:617;;;6997:96;7038:6;-1:-1:-1;;;;;7024:20:36;:10;-1:-1:-1;;;;;7024:20:36;;6997:96;;;;;;;;;;;;;-1:-1:-1;;;6997:96:36;;;:8;:96::i;:::-;7180:9;7169:34;;;;;;;;;;;;:::i;:::-;7153:50;;6598:617;7245:22;;:36;;;;:93;;-1:-1:-1;7302:22:36;;1747:5:83;1800:18;7302:36:36;7245:93;7227:177;;;7365:27;;;;;;;;;;;;;;-1:-1:-1;;;7365:27:36;;;:7;:27::i;:::-;1747:5:83;1800:18;7414:22:36;:35;7462:103;;;;;;;;;;;;-1:-1:-1;;;7462:103:36;;;;;;7493:9;-1:-1:-1;;;;;7485:30:36;;:34;;;7462:8;:103::i;:::-;7576:131;-1:-1:-1;;;;;;;;7599:60:36;;:9;-1:-1:-1;;;;;7599:15:36;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7599:60:36;;;7576:131;;;;;;;;;;;;;-1:-1:-1;;;7576:131:36;;;:8;:131::i;:::-;7718:185;7780:4;-1:-1:-1;;;;;7741:44:36;7749:9;-1:-1:-1;;;;;7749:16:36;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7741:44:36;;:116;;;;;7848:8;-1:-1:-1;;;;;7807:50:36;7815:9;-1:-1:-1;;;;;7815:18:36;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7807:50:36;;7741:116;7718:185;;;;;;;;;;;;;-1:-1:-1;;;7718:185:36;;;:8;:185::i;:::-;7950:29;7965:13;7950:14;:29::i;:::-;1747:5:83;1800:18;1541:5;-1:-1:-1;;;;;7997:47:36;8006:6;-1:-1:-1;;;;;7997:47:36;;8034:9;:7;:9::i;:::-;7997:47;;;;;;:::i;:::-;;;;;;;;6509:1543;;6426:1626;:::o;23309:257::-;23492:66;;-1:-1:-1;;;23492:66:36;;23442:25;;23492:19;;:45;;:66;;23538:8;;23548:9;;;;23492:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23492:66:36;;;;;;;;;;;;:::i;:::-;23485:73;23309:257;-1:-1:-1;;;23309:257:36:o;29950:154::-;1531:13:1;:11;:13::i;:::-;30070:26:36::1;30085:10;30070:14;:26::i;:::-;29950:154:::0;:::o;2176:135:28:-;2233:13;2266:37;2276:26;2266:9;:37::i;:::-;2259:44;;2176:135;:::o;14152:413:36:-;14276:37;14368:15;-1:-1:-1;;;;;14341:50:36;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14341:50:36;;14331:60;;14407:8;14402:156;14421:28;;;14402:156;;;14489:57;14525:15;;14541:3;14525:20;;;;;;;:::i;:::-;;;;;;;14489:35;:57::i;:::-;14474:7;14482:3;14474:12;;;;;;;;:::i;:::-;;;;;;:72;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;14451:6:36;;14402:156;;1294:147:71;1531:13:1;:11;:13::i;:::-;1381:9:71::1;:51:::0;;-1:-1:-1;;;;;;1381:51:71::1;-1:-1:-1::0;;;;;1381:51:71;;;::::1;::::0;;;::::1;::::0;;1294:147::o;24223:814:36:-;24531:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;24468:14;24484:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;24593:113:::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;24593:113:36::2;::::0;::::2;::::0;::::2;::::0;24616:39;;::::2;::::0;24593:8:::2;:113::i;:::-;24844:185;24882:14;24918:15;24949:27;24991;;24844:23;:185::i;:::-;24837:192;;2575:1;3081::::1;;24223:814:::0;;;;;;:::o;8139:271::-;8212:4;2000:11:83;8340:51:36;;;;;8386:5;-1:-1:-1;;;;;8375:16:36;:7;1684::1;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;8375:7:36;-1:-1:-1;;;;;8375:16:36;;8229:173;8139:271;-1:-1:-1;;8139:271:36:o;13933:211::-;14040:20;14085:51;14121:14;14085:35;:51::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1719:245:79:-;887:13;;735:10:3;;-1:-1:-1;;;;;887:13:79;1816:24;;1812:108;;1857:51;;-1:-1:-1;;;1857:51:79;;30155:2:84;1857:51:79;;;30137:21:84;30194:2;30174:18;;;30167:30;30233:34;30213:18;;;30206:62;-1:-1:-1;;;30284:18:84;;;30277:39;30333:19;;1857:51:79;29953:405:84;1812:108:79;1930:26;1949:6;1930:18;:26::i;2495:370:37:-;2627:7;2825:2;2777:19;;;;:44;;2803:18;2820:1;2803:14;:18;:::i;:::-;2777:44;;;2799:1;2777:44;2776:51;;;;:::i;:::-;2772:55;;:1;:55;:::i;:::-;2727:119;;;;:19;:119;:::i;:::-;2686:160;;:21;:160;:::i;:::-;2659:198;;:9;:198;:::i;12493:240:36:-;12619:12;12656:53;12694:14;12656:37;:53::i;:::-;:69;;12649:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:240;;;:::o;21752:1341::-;22011:17;22030;22070:8;22065:1021;22084:28;;;22065:1021;;;22202:27;22141:57;22177:15;;22193:3;22177:20;;;;;;;:::i;22141:57::-;:88;;;;;;;;:::i;:::-;;22137:938;;22250:34;22287:58;22324:15;;22340:3;22324:20;;;;;;;:::i;:::-;;;;;;;22287:36;:58::i;:::-;22377:19;;;;-1:-1:-1;22364:32:36;;-1:-1:-1;;;22377:19:36;;-1:-1:-1;;;;;22377:19:36;22364:32;;:::i;:::-;22419:21;;22364:32;;-1:-1:-1;;;;22419:21:36;;;;:25;22415:559;;22523:21;;22482:63;;22510:11;;-1:-1:-1;;;22523:21:36;;;;22482:27;:63::i;:::-;22469:76;;;;:::i;:::-;;;22415:559;;;22598:19;;;;:33;22594:361;;22673:49;22689:11;22702:9;:19;;;22673:15;:49::i;22594:361::-;22891:39;22907:11;22927:1;22891:15;:39::i;:::-;22878:52;;;;:::i;:::-;;;22594:361;23046:13;23006:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;23006:53:36;;;;;:::i;:::-;22992:67;;;;:::i;:::-;;;22231:844;22137:938;22114:6;;22065:1021;;;;21752:1341;;;;;;;;;:::o;9033:419::-;9207:49;;-1:-1:-1;;;9207:49:36;;;;;2495:25:84;;;9158:7:36;;;;-1:-1:-1;;;;;9207:8:36;:40;;;;2468:18:84;;9207:49:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9183:73;;9267:81;9307:1;9290:14;:18;;;9267:81;;;;;;;;;;;;;-1:-1:-1;;;9267:81:36;;;:8;:81::i;:::-;9366:78;9396:8;9419:14;9366:15;:78::i;:::-;9359:85;9033:419;-1:-1:-1;;;;9033:419:36:o;19674:853::-;20127:22;19953:10;19965:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1658:102;;;;;1759:1;1739:17;:21;;;1658:102;1635:169;;;;;;;;;;;;;-1:-1:-1;;;1635:169:36;;;:8;:169::i;:::-;20010:68:::1;4492:11:37::0;20038:14:36::1;20055:22;20010:27;:68::i;:::-;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;20098:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;20184:110:::3;20220:1;20237:9:::0;20261:22;20184:13:::3;:110::i;:::-;20167:127;;20375:24;;20305:52;20342:14;20305:36;:52::i;:::-;:67;;::::0;:94:::3;::::0;;:67;:94:::3;:::i;:::-;-1:-1:-1::0;20415:104:36::3;20441:14:::0;4679:9:37;20499::36::3;20415:104;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;19674:853:::0;;;;;;;;:::o;12906:974::-;-1:-1:-1;;;;;;;;;;;;;;;;;13068:31:36;13102:59;13146:14;13102:43;:59::i;:::-;13068:93;;13176:15;:29;13206:7;13215:53;13253:14;13215:37;:53::i;:::-;:69;;13176:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13176:109:36;;;;;;;;;;;;:::i;:::-;;;13172:701;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13471:172;;;;;;;;;;-1:-1:-1;13471:172:36;;;;13618:7;13580:46;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13580:46:36;;;;;;;;;13471:172;;13464:179;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;;;;;;;;;;;;;;13701:160;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;13057:823;12906:974;;;:::o;10307:190::-;10408:21;;:::i;:::-;10454:35;;;;-1:-1:-1;;;;;;;;;;;10454:35:36;;;;;;;10447:42;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;;;;;10447:42:36;;;;;10454:19;10447:42;;;;;;;;;;10454:35;;10447:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;-1:-1:-1;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;10447:42:36;10307:190;-1:-1:-1;;10307:190:36:o;25776:1038::-;26143:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;26080:14;26096:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;26199:164:::2;26252:1;26222:27;:31;;;:99;;;;;26306:15;26275:27;:46;;;;26222:99;26199:164;;;;;;;;;;;;;-1:-1:-1::0;;;26199:164:36::2;;::::0;:8:::2;:164::i;:::-;26410:113;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;26410:113:36::2;::::0;::::2;::::0;::::2;::::0;26433:39;;::::2;::::0;26410:8:::2;:113::i;:::-;26617:189;26655:14;26684:27;26726;26768;;26617:23;:189::i;:::-;26609:197;;2575:1;3081::::1;;25776:1038:::0;;;;;;;:::o;670:135:37:-;758:39;;;;;;;;;;;;;;;;;;670:135::o;14657:146:36:-;14742:7;-1:-1:-1;;;;;;;;;;;14774:17:36;:21;;14794:1;14774:21;:::i;17568:726::-;17999:22;17825:10;17837:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;10404:203:84;1635:169:36;17882:68:::1;4492:11:37::0;17910:14:36::1;4369:142:37::0;17882:68:36::1;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;17970:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;18056:109:::3;18084:9;18108;18132:22;18056:13;:109::i;:::-;18039:126:::0;-1:-1:-1;18181:105:36::3;18039:126:::0;4679:9:37;18266::36::3;18181:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;17568:726:::0;;;;;;;:::o;20769:423::-;20900:14;20916:27;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;2486:62::-;20769:423;;;:::o;2413:173::-;20961:34:::1;20998:52;21035:14;20998:36;:52::i;:::-;20961:89:::0;-1:-1:-1;4679:9:37;21061:45:36;;;;:19:::1;::::0;:45:::1;::::0;;;-1:-1:-1;;;21061:45:36;::::1;-1:-1:-1::0;;;;;21061:45:36::1;;:::i;:::-;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;21061:45:36;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;21164:19;;21122:62:::1;::::0;;37436:25:84;;;-1:-1:-1;;;21164:19:36;;::::1;::::0;;::::1;37492:2:84::0;37477:18;;37470:61;21122:62:36::1;::::0;-1:-1:-1;37409:18:84;21122:62:36::1;;;;;;;20950:242;20769:423:::0;;;:::o;1107:181:79:-;1531:13:1;:11;:13::i;:::-;1197::79::1;:24:::0;;-1:-1:-1;;;;;1197:24:79;::::1;-1:-1:-1::0;;;;;;1197:24:79;;::::1;::::0;::::1;::::0;;;1262:7:::1;1684::1::0;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;1262:7:79::1;-1:-1:-1::0;;;;;1237:43:79::1;;;;;;;;;;;1107:181:::0;:::o;11403:225:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11567:53:36;11605:14;11567:37;:53::i;:::-;11560:60;;;;;;;;;;-1:-1:-1;;;;;11560:60:36;;;;-1:-1:-1;;;11560:60:36;;-1:-1:-1;;;;;11560:60:36;;;;;-1:-1:-1;;;11560:60:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11403:225;;;:::o;2565:204:28:-;2706:10;2701:61;;2733:17;2741:8;2733:7;:17::i;:::-;2565:204;;:::o;1886:617:41:-;1951:20;2017:23;;;-1:-1:-1;;;;;;;;;;;2017:23:41;;;;;2055:16;;;:32;-1:-1:-1;;;2055:32:41;;;;:37;2051:445;;2129:16;;;:25;-1:-1:-1;;;2129:25:41;;-1:-1:-1;;;;;2129:25:41;2113:12;:41;2109:196;;-1:-1:-1;2182:30:41;;1886:617;-1:-1:-1;;1886:617:41:o;2109:196::-;-1:-1:-1;2260:29:41;;1886:617;-1:-1:-1;;1886:617:41:o;2051:445::-;2326:25;;-1:-1:-1;;;;;2326:25:41;:39;2322:174;;-1:-1:-1;2389:27:41;;1886:617;-1:-1:-1;;1886:617:41:o;2322:174::-;-1:-1:-1;2456:28:41;;1886:617;-1:-1:-1;;1886:617:41:o;32022:2928:36:-;32295:18;32404:34;32441:52;32478:14;32441:36;:52::i;:::-;32570:19;;-1:-1:-1;;;;;32680:23:36;;;;;-1:-1:-1;;;32570:19:36;;;-1:-1:-1;;;;;32570:19:36;;-1:-1:-1;32570:19:36;;-1:-1:-1;;;;32774:21:36;;;;:25;32770:2173;;33195:19;;32835:29;;;;;;32983:286;;33024:14;;32983:286;;;;33103:27;;33149;;;;-1:-1:-1;;;;;33195:19:36;;;-1:-1:-1;;;33233:21:36;;;;32983:22;:286::i;:::-;32816:453;;;;;;33288:19;33284:785;;;33386:165;;;37744:25:84;;;4492:11:37;37800:2:84;37785:18;;37778:34;37828:18;;;37821:34;;;33386:165:36;;;;;;;37732:2:84;33386:165:36;;;33284:785;;;33642:411;33698:14;33735:27;;4492:11:37;33822:21:36;33908:1;33872:25;33866:39;:43;:168;;;;;;;;;;;;;;;;;;;;;;33938:25;33866:168;33642:411;;;;;;;;;;;:::i;:::-;;;;;;;;33284:785;34271:187;34310:14;34344:27;34391;34271:187;;;;;;;;;;;;:20;:187::i;:::-;32801:1669;;;32770:2173;;;34539:101;34577:14;4492:11:37;34539:101:36;;;15434:25:84;;;15490:2;15475:18;;15468:34;;;;15407:18;34539:101:36;;;;;;;34725:206;34764:14;34797:27;34843;34889;;34725:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34725:20:36;;-1:-1:-1;;;34725:206:36:i;:::-;32320:2630;32022:2928;;;;;;;:::o;4837:162:37:-;4961:30;;-1:-1:-1;;;;;4961:21:37;;;:30;;;;;4983:7;;4961:30;;;;4983:7;4961:21;:30;;;;;;;;;;;;;;;;;;;1507:151:41;1574:24;1618;;;-1:-1:-1;;;;;;;;;;;1618:24:41;;;;;;1507:151::o;2511:1151::-;2584:23;2620:33;2656:24;2672:7;2656:15;:24::i;:::-;2620:60;-1:-1:-1;2711:30:41;2695:12;:46;;;;;;;;:::i;:::-;;2691:964;;2758:26;2787:23;;;-1:-1:-1;;;;;;;;;;;2787:23:41;;;;;:48;;2854:19;;2787:48;;2758:26;2787:48;;2854:19;;;:::i;:::-;;;:23;2850:480;;;2996:15;;-1:-1:-1;;;3015:12:41;2996;;3009:1;;2996:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2996:15:41;-1:-1:-1;;;;;2996:31:41;;;:138;;3105:29;2996:138;;;3051:29;2988:165;2511:1151;-1:-1:-1;;;;2511:1151:41:o;2850:480::-;-1:-1:-1;3281:33:41;;2511:1151;-1:-1:-1;;;2511:1151:41:o;2691:964::-;3367:27;3351:12;:43;;;;;;;;:::i;:::-;;3347:308;;-1:-1:-1;3418:32:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;3347:308::-;3488:29;3472:12;:45;;;;;;;;:::i;:::-;;3468:187;;-1:-1:-1;3541:34:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;1796:162:1:-;1684:7;1710:6;-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;;;10550:51:84;10523:18;;1901:40:1;10404:203:84;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;31305:709:36:-;31449:22;-1:-1:-1;;;;;;;;;;;31506:20:36;;31509:17;;31506:20;;;:::i;:::-;;;;;-1:-1:-1;31506:20:36;-1:-1:-1;31575:34:36;31612:52;31506:20;31612:36;:52::i;:::-;31684:19;;31675:61;;;;;;;;;;;;-1:-1:-1;;;31675:61:36;;;;31684:19;;-1:-1:-1;31675:61:36;;-1:-1:-1;;;;;31684:19:36;;;:33;;31675:8;:61::i;:::-;31762:32;;4679:9:37;-1:-1:-1;;;;;31865:44:36;-1:-1:-1;;;31865:44:36;-1:-1:-1;;;;;;31809:41:36;;;31784:10;-1:-1:-1;;;;31809:41:36;;-1:-1:-1;;;31809:41:36;;;;;-1:-1:-1;;;;;31865:44:36;;;;31924:19;;;:30;;;31991:4;31969:19;;;:26;31991:4;31969:19;:26;:::i;:::-;;;;31478:536;31305:709;;;;;:::o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;38665:306:36:-;38765:7;38760:164;38783:10;:17;38778:2;:22;38760:164;;;38824:17;38844:10;38855:2;38844:14;;;;;;;;:::i;:::-;;;;;;;38824:34;;38908:4;38873:11;-1:-1:-1;;;;;;;;;;;1097:28:41;2176:135:28;38873:11:36;-1:-1:-1;;;;;38873:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;38873:39:36;;;;;;;;;;-1:-1:-1;38802:5:36;38760:164;;;;38939:24;38952:10;38939:24;;;;;;:::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;;34958:659:36;35240:18;35289:183;35318:14;35348:27;35391;35434;;35289:14;:183::i;:::-;35276:196;;35523:86;35562:10;35588;35523:16;:86::i;:::-;34958:659;;;;;;;:::o;1724:154:41:-;1792:25;1837:24;;;-1:-1:-1;;;;;;;;;;;1837:24:41;;;;;:33;;;1724:154::o;3745:157:70:-;3871:18;;3816:6;;3871:22;;:18;;3892:1;3871:22;:::i;:::-;3842:25;;:52;;;;;:25;;;-1:-1:-1;;;;;3842:25:70;:52;:::i;35625:3032:36:-;35999:29;36044:24;36084:39;36175:9;36151:33;-1:-1:-1;;;;36199:27:36;;36227:1;36199:30;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;36199:46:36;;;36195:2410;;36262:32;36297:61;:49;36318:27;;36297:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;36297:20:36;;-1:-1:-1;;;36297:49:36:i;:::-;:59;:61::i;:::-;36262:96;;36394:1;36377:7;:14;:18;36373:1621;;;36497:13;-1:-1:-1;;;;;36481:53:36;;36540:20;36584:14;36621:27;36671;36721:12;36756:31;36810:318;;;;;;;;36861:46;;;;;;;;;;;;;;;;;;;;;;;;36904:1;36861:46;;;36810:318;;;;36947:1;36810:318;;;;;;36986:1;36810:318;;;;;;37037:1;36810:318;;;;;;37070:1;-1:-1:-1;;;;;36810:318:36;;;;;37103:1;-1:-1:-1;;;;;36810:318:36;;;;36481:666;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36477:846;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;37300:3;-1:-1:-1;36373:1621:36;;36477:846;;;;;;;;;;;37193:4;37171:26;;36373:1621;;;37445:13;-1:-1:-1;;;;;37429:53:36;;37488:20;37532:14;37569:27;37619;37669:12;37728:21;:7;37736:1;37728:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;37704:46;;;;;;;;:::i;:::-;37773:7;37781:1;37773:10;;;;;;;;:::i;:::-;;;;;;;37429:373;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37425:554;;;;:::i;:::-;37848:4;37826:26;;37425:554;36247:1758;36195:2410;;;38106:13;-1:-1:-1;;;;;38090:54:36;;38150:20;38190:14;38223:27;38269;38315:12;38346:49;38367:27;;38346:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38346:20:36;;-1:-1:-1;;;38346:49:36:i;:::-;38090:320;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38086:508;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;38551:3;-1:-1:-1;38086:508:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38571:23;38086:508;;;38452:4;38430:26;;38086:508;38640:9;38615:34;;;;:::i;:::-;;;35625:3032;;;;;;;;;;;:::o;39206:630::-;39541:287;;;;;;;;39584:10;-1:-1:-1;;;;;39541:287:36;;;;;39626:12;-1:-1:-1;;;;;39541:287:36;;;;;39671:27;39541:287;;;;;;39730:27;39541:287;;;;39789:27;39541:287;;;39484:45;39514:14;39484:29;:45::i;:::-;:344;;:54;;;:344;;;;;;;;;;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;;;;;39484:344:36;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;39484:344:36;;;-1:-1:-1;;;;;39484:344:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;;:344;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;39206:630:36: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;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;;;3503:307;;;:::o;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;6109:1231::-;6220:19;6182:4;1170:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43798:4:84;43786:17;;;1813:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1813:45:66;43598:266:84;1765:101:66;6336:10:::1;6349:51;6360:4;:11;;;6373:4;:26;;;6349:10;:51::i;:::-;6336:64:::0;-1:-1:-1;6426:7:66::1;6336:64:::0;6432:1:::1;6426:7;:::i;:::-;-1:-1:-1::0;;;;;6415:19:66::1;-1:-1:-1::0;;;;;6415:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6407:27;;6446:7;6441:739;6464:3;-1:-1:-1::0;;;;;6459:8:66::1;:2;:8;6441:739;;;6536:13;:4;:11;:13::i;:::-;6529:20;;6635:11;:4;:9;:11::i;:::-;6623:5;6629:2;6623:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1170:1;6659:34;;:4;:14;;;:34;;::::0;6655:518:::1;;6706:23;6732:16;:4;:14;:16::i;:::-;6706:42;;6831:9;6860:1;6841:9;:16;:20;;;;:::i;:::-;6831:31;;;;;;;;:::i;:::-;;;;;;;6824:38;;6695:177;6655:518;;;1217:1;6882:32;;:4;:14;;;:32;;::::0;6878:295:::1;;6927:23;6953:14;:4;:12;:14::i;6878:295::-;7152:11;:4;:9;:11::i;:::-;;6878:295;6469:5;;6441:739;;;;7330:4;7317:5;7323:3;-1:-1:-1::0;;;;;7317:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6244:1096;6109:1231:::0;;;;;:::o;17859:209::-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43798:4:84;43786:17;;;1813:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1813:45:66;43598: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;;44228:4:84;44216:17;;3859:31:66::1;::::0;::::1;44198:36:84::0;44171:18;;3859:31:66::1;44054:186: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;:::-;9360:26;;;;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;;44228:4:84;44216:17;;9480:44:66;;;44198:36:84;44171:18;;9480:44:66;44054:186:84;4400:208:66;4471:22;;:::i;:::-;2152:11;;:16;;:23;2130:18;;;;;:45;;4505:98;;4549:11;;4538:23;;:10;:23::i;4505:98::-;-1:-1:-1;4591:4:66;4400:208::o;4049:345::-;4125:22;;:::i;:::-;4166:222;;;;;;;;;4188:11;;-1:-1:-1;;;;;;;;;;;;;;2776:55:65;;;;;;;;2791:11;;2776:55;;-1:-1:-1;2811:13:65;;;;2776:55;;;;4166:222:66;;;;;;;4228:4;:16;;;4166:222;;;;;;4264:4;:14;;;4166:222;;;;;;4310:4;:26;;;4166:222;;;;;;4350:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;;4372:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;4159:229;;4049:345;;;:::o;7346:1309::-;7453:19;7417:4;1217:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43798:4:84;43786:17;;;1813:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1813:45:66;43598:266:84;1765:101:66;7585:10:::1;7598:51;7609:4;:11;;;7622:4;:26;;;7598:10;:51::i;:::-;:55;::::0;7652:1:::1;7598:55;:::i;:::-;7585:68:::0;-1:-1:-1;7679:7:66::1;7585:68:::0;7685:1:::1;7679:7;:::i;:::-;-1:-1:-1::0;;;;;7668:19:66::1;-1:-1:-1::0;;;;;7668:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7660:27;;7699:7;7694:801;7717:3;-1:-1:-1::0;;;;;7712:8:66::1;:2;:8;7694:801;;;7789:13;:4;:11;:13::i;:::-;7782:20;;7888:11;:4;:9;:11::i;:::-;7876:5;7882:2;7876:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7912:6:::1;7917:1;7912:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7927:14:66::1;::::0;::::1;::::0;:35:::1;;1121:1;7927:35;;7912:50;7908:580;;;8002:14;::::0;;::::1;::::0;7982:54;;-1:-1:-1;;;7982:54:66;;43798:4:84;43786:17;;;7982:54:66::1;::::0;::::1;43768:36:84::0;1121:1:66::1;43820:18:84::0;;;43813:45;43741:18;;7982:54:66::1;43598:266:84::0;7908:580:66::1;8056:14;::::0;::::1;::::0;:34:::1;;1170:1;8056:34;::::0;:70:::1;;-1:-1:-1::0;8094:14:66::1;::::0;::::1;::::0;:32:::1;;1217:1;8094:32;8056:70;8052:436;;;8166:14;::::0;::::1;::::0;8139:23:::1;::::0;8166:34:::1;;1170:1;8166:34;:96;;8248:14;:4;:12;:14::i;:::-;8166:96;;;8216:16;:4;:14;:16::i;:::-;8139:134;;8363:9;8392:1;8373:9;:16;:20;;;;:::i;:::-;8363:31;;;;;;;;:::i;:::-;;;;;;;8356:38;;8128:276;8052:436;;;8467:11;:4;:9;:11::i;:::-;;8052:436;7722:5;;7694:801;;4614:1135:::0;4683:22;;:::i;:::-;4729:14;;;;:32;;;;:86;;-1:-1:-1;4774:14:66;;;;:41;;1022:1;4774:41;4729:86;:263;;;-1:-1:-1;4841:14:66;;;;:41;;1320:1;4841:41;:91;;;;;4930:2;4900:4;:26;;;:32;;;;4841:91;:140;;;;;4979:2;4949:4;:26;;;:32;;;;4841:140;4717:1009;;;5031:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;5009:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4591:4:66;4400:208::o;4717:1009::-;5076:14;;;;:35;;1121:1;5076:35;;:84;;-1:-1:-1;5126:14:66;;;;:34;;1071:1;5126:34;5076:84;5062:664;;;5177:10;5190:51;5201:4;:11;;;5214:4;:26;;;5190:10;:51::i;:::-;5177:64;;5272:3;-1:-1:-1;;;;;5250:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;5062:664:66;;-1:-1:-1;5062:664:66;;5301:14;;;;:34;;1170:1;5301:34;;:79;;-1:-1:-1;5348:14:66;;;;:32;;1217:1;5348:32;5301:79;5289:437;;;5409:51;5420:4;:11;;;5433:4;:26;;;5409:10;:51::i;:::-;-1:-1:-1;;;;;5398:62:66;:8;;;:62;-1:-1:-1;4591:4:66;4400:208::o;5289:437::-;5493:14;;;;:41;;1320:1;5493:41;;;:159;;;5560:4;:26;;;:32;;5590:2;5560:32;;:81;;;;;5609:4;:26;;;:32;;5639:2;5609:32;;5560:81;5480:246;;;5669:49;;-1:-1:-1;;;5669:49:66;;44564:2:84;5669:49:66;;;44546:21:84;44603:2;44583:18;;;44576:30;44642:34;44622:18;;;44615:62;-1:-1:-1;;;44693:18:84;;;44686:37;44740:19;;5669:49:66;44362:403: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;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1036:31:65;15260: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;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1036:31:65;15260: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;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1036:31:65;15260: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;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1036:31:65;15260: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;5755:348:66:-:0;5826:6;5877:2;5848:4;:26;;;:31;;;5844:254;;;-1:-1:-1;5897:1:66;;5755:348;-1:-1:-1;5755:348:66:o;5844:254::-;5945:2;5916:4;:26;;;:31;;;5912:186;;;6007:2;5978:4;:26;;;:31;;;;:::i;:::-;5972:38;;:1;:38;;5958:53;;5755:348;;;:::o;5912:186::-;6063:26;;;;6041:49;;-1:-1:-1;;;6041:49:66;;44228:4:84;44216:17;;;6041:49:66;;;44198:36:84;44171:18;;6041:49:66;44054:186:84;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:250:84;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:84;238:16;;231:27;14:250::o;269:1072::-;-1:-1:-1;;;670:3:84;663:34;645:3;726:6;720:13;742:75;810:6;805:2;800:3;796:12;789:4;781:6;777:17;742:75;:::i;:::-;877:13;;836:16;;;;899:76;877:13;961:2;953:11;;946:4;934:17;;899:76;:::i;:::-;1036:13;;994:17;;;1058:76;1036:13;1120:2;1112:11;;1105:4;1093:17;;1058:76;:::i;:::-;1195:13;;1153:17;;;1217:76;1195:13;1279:2;1271:11;;1264:4;1252:17;;1217:76;:::i;:::-;1313:17;1332:2;1309:26;;269:1072;-1:-1:-1;;;;;;269:1072:84:o;1346:131::-;-1:-1:-1;;;;;1421:31:84;;1411:42;;1401:70;;1467:1;1464;1457:12;1482:247;1541:6;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;1926:161::-;1993:20;;2053:8;2042:20;;2032:31;;2022:59;;2077:1;2074;2067:12;2092:252;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2272:9;2259:23;2249:33;;2301:37;2334:2;2323:9;2319:18;2301:37;:::i;:::-;2291:47;;2092:252;;;;;:::o;2531:387::-;2614:8;2624:6;2678:3;2671:4;2663:6;2659:17;2655:27;2645:55;;2696:1;2693;2686:12;2645:55;-1:-1:-1;2719:20:84;;-1:-1:-1;;;;;2751:30:84;;2748:50;;;2794:1;2791;2784:12;2748:50;2831:4;2823:6;2819:17;2807:29;;2891:3;2884:4;2874:6;2871:1;2867:14;2859:6;2855:27;2851:38;2848:47;2845:67;;;2908:1;2905;2898:12;2845:67;2531:387;;;;;:::o;2923:489::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3158:9;3145:23;-1:-1:-1;;;;;3183:6:84;3180:30;3177:50;;;3223:1;3220;3213:12;3177:50;3262:90;3344:7;3335:6;3324:9;3320:22;3262:90;:::i;:::-;3371:8;;3236:116;;-1:-1:-1;2923:489:84;-1:-1:-1;;;;2923:489:84:o;3417:180::-;3476:6;3529:2;3517:9;3508:7;3504:23;3500:32;3497:52;;;3545:1;3542;3535:12;3497:52;-1:-1:-1;3568:23:84;;3417:180;-1:-1:-1;3417:180:84:o;3602:270::-;3643:3;3681:5;3675:12;3708:6;3703:3;3696:19;3724:76;3793:6;3786:4;3781:3;3777:14;3770:4;3763:5;3759:16;3724:76;:::i;:::-;3854:2;3833:15;-1:-1:-1;;3829:29:84;3820:39;;;;3861:4;3816:50;;3602:270;-1:-1:-1;;3602:270:84:o;3877:487::-;3993:1;3989;3984:3;3980:11;3976:19;3968:5;3962:12;3958:38;3953:3;3946:51;-1:-1:-1;;;;;4050:4:84;4043:5;4039:16;4033:23;4029:48;4022:4;4017:3;4013:14;4006:72;4139:10;4131:4;4124:5;4120:16;4114:23;4110:40;4103:4;4098:3;4094:14;4087:64;4200:4;4193:5;4189:16;4183:23;4176:4;4171:3;4167:14;4160:47;3928:3;4253:4;4246:5;4242:16;4236:23;4291:4;4284;4279:3;4275:14;4268:28;4312:46;4352:4;4347:3;4343:14;4329:12;4312:46;:::i;4369:263::-;4552:2;4541:9;4534:21;4515:4;4572:54;4622:2;4611:9;4607:18;4599:6;4572:54;:::i;4637:719::-;4752:1;4748;4743:3;4739:11;4735:19;4727:5;4721:12;4717:38;4712:3;4705:51;4817:8;4809:4;4802:5;4798:16;4792:23;4788:38;4781:4;4776:3;4772:14;4765:62;-1:-1:-1;;;;;4880:4:84;4873:5;4869:16;4863:23;4859:50;4852:4;4847:3;4843:14;4836:74;4687:3;4956:4;4949:5;4945:16;4939:23;4994:4;4987;4982:3;4978:14;4971:28;5020:46;5060:4;5055:3;5051:14;5037:12;5020:46;:::i;:::-;5008:58;;5115:4;5108:5;5104:16;5098:23;5091:4;5086:3;5082:14;5075:47;5170:4;5163:5;5159:16;5153:23;5235:4;5218:14;5212:21;5208:32;5201:4;5196:3;5192:14;5185:56;-1:-1:-1;;;;;5302:4:84;5286:14;5282:25;5276:32;5272:57;5266:3;5261;5257:13;5250:80;;5346:4;5339:11;;;4637:719;;;;:::o;5361:260::-;5542:2;5531:9;5524:21;5505:4;5562:53;5611:2;5600:9;5596:18;5588:6;5562:53;:::i;5626:127::-;5687:10;5682:3;5678:20;5675:1;5668:31;5718:4;5715:1;5708:15;5742:4;5739:1;5732:15;5758:145;5844:1;5837:5;5834:12;5824:46;;5850:18;;:::i;:::-;5879;;5758:145::o;5908:219::-;6060:2;6045:18;;6072:49;6049:9;6103:6;6072:49;:::i;6132:127::-;6193:10;6188:3;6184:20;6181:1;6174:31;6224:4;6221:1;6214:15;6248:4;6245:1;6238:15;6264:249;6374:2;6355:13;;-1:-1:-1;;6351:27:84;6339:40;;-1:-1:-1;;;;;6394:34:84;;6430:22;;;6391:62;6388:88;;;6456:18;;:::i;:::-;6492:2;6485:22;-1:-1:-1;;6264:249:84:o;6518:183::-;6578:4;-1:-1:-1;;;;;6603:6:84;6600:30;6597:56;;;6633:18;;:::i;:::-;-1:-1:-1;6678:1:84;6674:14;6690:4;6670:25;;6518:183::o;6706:1028::-;6790:6;6821:2;6864;6852:9;6843:7;6839:23;6835:32;6832:52;;;6880:1;6877;6870:12;6832:52;6920:9;6907:23;-1:-1:-1;;;;;6945:6:84;6942:30;6939:50;;;6985:1;6982;6975:12;6939:50;7008:22;;7061:4;7053:13;;7049:27;-1:-1:-1;7039:55:84;;7090:1;7087;7080:12;7039:55;7126:2;7113:16;7148:43;7188:2;7148:43;:::i;:::-;7220:2;7214:9;7232:31;7260:2;7252:6;7232:31;:::i;:::-;7298:18;;;7386:1;7382:10;;;;7374:19;;7370:28;;;7332:15;;;;-1:-1:-1;7410:19:84;;;7407:39;;;7442:1;7439;7432:12;7407:39;7466:11;;;;7486:217;7502:6;7497:3;7494:15;7486:217;;;7582:3;7569:17;7599:31;7624:5;7599:31;:::i;:::-;7643:18;;7519:12;;;;7681;;;;7486:217;;;7722:6;6706:1028;-1:-1:-1;;;;;;;6706:1028:84:o;7739:156::-;7800:5;7845:2;7836:6;7831:3;7827:16;7823:25;7820:45;;;7861:1;7858;7851:12;7900:309;7997:6;8005;8058:2;8046:9;8037:7;8033:23;8029:32;8026:52;;;8074:1;8071;8064:12;8026:52;8110:9;8097:23;8087:33;;8139:64;8195:7;8190:2;8179:9;8175:18;8139:64;:::i;8214:186::-;8262:4;-1:-1:-1;;;;;8287:6:84;8284:30;8281:56;;;8317:18;;:::i;:::-;-1:-1:-1;8383:2:84;8362:15;-1:-1:-1;;8358:29:84;8389:4;8354:40;;8214:186::o;8405:727::-;8473:6;8526:2;8514:9;8505:7;8501:23;8497:32;8494:52;;;8542:1;8539;8532:12;8494:52;8582:9;8569:23;-1:-1:-1;;;;;8607:6:84;8604:30;8601:50;;;8647:1;8644;8637:12;8601:50;8670:22;;8723:4;8715:13;;8711:27;-1:-1:-1;8701:55:84;;8752:1;8749;8742:12;8701:55;8788:2;8775:16;8810:31;8838:2;8810:31;:::i;:::-;8870:2;8864:9;8882:31;8910:2;8902:6;8882:31;:::i;:::-;8937:2;8929:6;8922:18;8977:7;8972:2;8967;8963;8959:11;8955:20;8952:33;8949:53;;;8998:1;8995;8988:12;8949:53;9054:2;9049;9045;9041:11;9036:2;9028:6;9024:15;9011:46;9099:1;9077:15;;;9094:2;9073:24;9066:35;;;;-1:-1:-1;9081:6:84;8405:727;-1:-1:-1;;;;8405:727:84:o;9599:800::-;9759:4;9788:2;9828;9817:9;9813:18;9858:2;9847:9;9840:21;9881:6;9916;9910:13;9947:6;9939;9932:22;9985:2;9974:9;9970:18;9963:25;;10047:2;10037:6;10034:1;10030:14;10019:9;10015:30;10011:39;9997:53;;10085:2;10077:6;10073:15;10106:1;10116:254;10130:6;10127:1;10124:13;10116:254;;;10223:2;10219:7;10207:9;10199:6;10195:22;10191:36;10186:3;10179:49;10251:39;10283:6;10274;10268:13;10251:39;:::i;:::-;10241:49;-1:-1:-1;10348:12:84;;;;10313:15;;;;10152:1;10145:9;10116:254;;;-1:-1:-1;10387:6:84;;9599:800;-1:-1:-1;;;;;;;9599:800:84:o;10794:219::-;10943:2;10932:9;10925:21;10906:4;10963:44;11003:2;10992:9;10988:18;10980:6;10963:44;:::i;11018:142::-;11101:1;11094:5;11091:12;11081:46;;11107:18;;:::i;11165:668::-;11351:2;11403:21;;;11473:13;;11376:18;;;11495:22;;;11322:4;;11351:2;11574:15;;;;11548:2;11533:18;;;11322:4;11617:190;11631:6;11628:1;11625:13;11617:190;;;11680:47;11723:3;11714:6;11708:13;11680:47;:::i;:::-;11782:15;;;;11747:12;;;;11653:1;11646:9;11617:190;;;-1:-1:-1;11824:3:84;;11165:668;-1:-1:-1;;;;;;11165:668:84:o;12126:347::-;12177:8;12187:6;12241:3;12234:4;12226:6;12222:17;12218:27;12208:55;;12259:1;12256;12249:12;12208:55;-1:-1:-1;12282:20:84;;-1:-1:-1;;;;;12314:30:84;;12311:50;;;12357:1;12354;12347:12;12311:50;12394:4;12386:6;12382:17;12370:29;;12446:3;12439:4;12430:6;12422;12418:19;12414:30;12411:39;12408:59;;;12463:1;12460;12453:12;12478:545;12566:6;12574;12582;12590;12643:2;12631:9;12622:7;12618:23;12614:32;12611:52;;;12659:1;12656;12649:12;12611:52;12695:9;12682:23;12672:33;;12752:2;12741:9;12737:18;12724:32;12714:42;;12807:2;12796:9;12792:18;12779:32;-1:-1:-1;;;;;12826:6:84;12823:30;12820:50;;;12866:1;12863;12856:12;12820:50;12905:58;12955:7;12946:6;12935:9;12931:22;12905:58;:::i;:::-;12478:545;;;;-1:-1:-1;12982:8:84;-1:-1:-1;;;;12478:545:84:o;13028:213::-;13177:2;13162:18;;13189:46;13166:9;13217:6;13189:46;:::i;13691:117::-;13776:6;13769:5;13765:18;13758:5;13755:29;13745:57;;13798:1;13795;13788:12;13813:313;13880:6;13888;13941:2;13929:9;13920:7;13916:23;13912:32;13909:52;;;13957:1;13954;13947:12;13909:52;13993:9;13980:23;13970:33;;14053:2;14042:9;14038:18;14025:32;14066:30;14090:5;14066:30;:::i;:::-;14115:5;14105:15;;;13813:313;;;;;:::o;14353:902::-;14477:6;14485;14493;14501;14509;14517;14570:3;14558:9;14549:7;14545:23;14541:33;14538:53;;;14587:1;14584;14577:12;14538:53;14627:9;14614:23;-1:-1:-1;;;;;14697:2:84;14689:6;14686:14;14683:34;;;14713:1;14710;14703:12;14683:34;14752:90;14834:7;14825:6;14814:9;14810:22;14752:90;:::i;:::-;14861:8;;-1:-1:-1;14726:116:84;-1:-1:-1;14949:2:84;14934:18;;14921:32;;-1:-1:-1;14965:16:84;;;14962:36;;;14994:1;14991;14984:12;14962:36;;15033:60;15085:7;15074:8;15063:9;15059:24;15033:60;:::i;:::-;14353:902;;;;-1:-1:-1;15112:8:84;15194:2;15179:18;;15166:32;;15245:2;15230:18;;;15217:32;;-1:-1:-1;14353:902:84;-1:-1:-1;;;;14353:902:84:o;15513:248::-;15581:6;15589;15642:2;15630:9;15621:7;15617:23;15613:32;15610:52;;;15658:1;15655;15648:12;15610:52;-1:-1:-1;;15681:23:84;;;15751:2;15736:18;;;15723:32;;-1:-1:-1;15513:248:84:o;15766:611::-;15882:6;15890;15898;15906;15959:3;15947:9;15938:7;15934:23;15930:33;15927:53;;;15976:1;15973;15966:12;15927:53;16016:9;16003:23;-1:-1:-1;;;;;16041:6:84;16038:30;16035:50;;;16081:1;16078;16071:12;16035:50;16120:58;16170:7;16161:6;16150:9;16146:22;16120:58;:::i;:::-;16197:8;;-1:-1:-1;16094:84:84;-1:-1:-1;16251:64:84;;-1:-1:-1;16307:7:84;16302:2;16287:18;;16251:64;:::i;:::-;16241:74;;16334:37;16367:2;16356:9;16352:18;16334:37;:::i;:::-;16324:47;;15766:611;;;;;;;:::o;16382:149::-;16470:3;16463:5;16460:14;16450:48;;16478:18;;:::i;16536:435::-;16725:2;16714:9;16707:21;16737:67;16800:2;16789:9;16785:18;16776:6;16770:13;16737:67;:::i;:::-;16688:4;16851:2;16843:6;16839:15;16833:22;16893:4;16886;16875:9;16871:20;16864:34;16915:50;16961:2;16950:9;16946:18;16932:12;16915:50;:::i;16976:546::-;17153:2;17142:9;17135:21;17116:4;17191:6;17185:13;17234:4;17229:2;17218:9;17214:18;17207:32;17262:59;17317:2;17306:9;17302:18;17288:12;17262:59;:::i;:::-;17248:73;;17370:2;17362:6;17358:15;17352:22;17444:2;17440:7;17428:9;17420:6;17416:22;17412:36;17405:4;17394:9;17390:20;17383:66;17466:50;17509:6;17493:14;17466:50;:::i;17527:163::-;17594:20;;17654:10;17643:22;;17633:33;;17623:61;;17680:1;17677;17670:12;17695:618;17791:6;17799;17807;17815;17823;17876:3;17864:9;17855:7;17851:23;17847:33;17844:53;;;17893:1;17890;17883:12;17844:53;17929:9;17916:23;17906:33;;17958:37;17991:2;17980:9;17976:18;17958:37;:::i;:::-;17948:47;;18042:2;18031:9;18027:18;18014:32;18004:42;;18097:2;18086:9;18082:18;18069:32;-1:-1:-1;;;;;18116:6:84;18113:30;18110:50;;;18156:1;18153;18146:12;18110:50;18195:58;18245:7;18236:6;18225:9;18221:22;18195:58;:::i;:::-;17695:618;;;;-1:-1:-1;17695:618:84;;-1:-1:-1;18272:8:84;;18169:84;17695:618;-1:-1:-1;;;17695:618:84:o;18776:382::-;18881:6;18889;18897;18950:3;18938:9;18929:7;18925:23;18921:33;18918:53;;;18967:1;18964;18957:12;18918:53;19003:9;18990:23;18980:33;;19032:64;19088:7;19083:2;19072:9;19068:18;19032:64;:::i;:::-;19022:74;;19115:37;19148:2;19137:9;19133:18;19115:37;:::i;:::-;19105:47;;18776:382;;;;;:::o;19163:641::-;19443:3;19481:6;19475:13;19497:66;19556:6;19551:3;19544:4;19536:6;19532:17;19497:66;:::i;:::-;-1:-1:-1;;;19585:16:84;;;19610:19;;;19654:13;;19676:78;19654:13;19741:1;19730:13;;19723:4;19711:17;;19676:78;:::i;:::-;19774:20;19796:1;19770:28;;19163:641;-1:-1:-1;;;;19163:641:84:o;19809:127::-;19870:10;19865:3;19861:20;19858:1;19851:31;19901:4;19898:1;19891:15;19925:4;19922:1;19915:15;19941:127;20002:10;19997:3;19993:20;19990:1;19983:31;20033:4;20030:1;20023:15;20057:4;20054:1;20047:15;20073:165;20111:1;20145:4;20142:1;20138:12;20169:3;20159:37;;20176:18;;:::i;:::-;20228:3;20221:4;20218:1;20214:12;20210:22;20205:27;;;20073:165;;;;:::o;20243:148::-;20331:4;20310:12;;;20324;;;20306:31;;20349:13;;20346:39;;;20365:18;;:::i;20396:157::-;20426:1;20460:4;20457:1;20453:12;20484:3;20474:37;;20491:18;;:::i;:::-;20543:3;20536:4;20533:1;20529:12;20525:22;20520:27;;;20396:157;;;;:::o;20558:127::-;20619:10;20614:3;20610:20;20607:1;20600:31;20650:4;20647:1;20640:15;20674:4;20671:1;20664:15;20690:168;20763:9;;;20794;;20811:15;;;20805:22;;20791:37;20781:71;;20832:18;;:::i;20863:125::-;20928:9;;;20949:10;;;20946:36;;;20962:18;;:::i;20993:330::-;21091:4;21149:11;21136:25;21243:3;21239:8;21228;21212:14;21208:29;21204:44;21184:18;21180:69;21170:97;;21263:1;21260;21253:12;21170:97;21284:33;;;;;20993:330;-1:-1:-1;;20993:330:84:o;21554:489::-;21608:5;21661:3;21654:4;21646:6;21642:17;21638:27;21628:55;;21679:1;21676;21669:12;21628:55;21708:6;21702:13;21734:31;21762:2;21734:31;:::i;:::-;21794:2;21788:9;21806:31;21834:2;21826:6;21806:31;:::i;:::-;21861:2;21853:6;21846:18;21907:3;21900:4;21895:2;21887:6;21883:15;21879:26;21876:35;21873:55;;;21924:1;21921;21914:12;21873:55;21937:76;22010:2;22003:4;21995:6;21991:17;21984:4;21976:6;21972:17;21937:76;:::i;22048:337::-;22128:6;22181:2;22169:9;22160:7;22156:23;22152:32;22149:52;;;22197:1;22194;22187:12;22149:52;22230:9;22224:16;-1:-1:-1;;;;;22255:6:84;22252:30;22249:50;;;22295:1;22292;22285:12;22249:50;22318:61;22371:7;22362:6;22351:9;22347:22;22318:61;:::i;22390:290::-;22567:6;22556:9;22549:25;22610:2;22605;22594:9;22590:18;22583:30;22530:4;22630:44;22670:2;22659:9;22655:18;22647:6;22630:44;:::i;22685:184::-;22743:6;22796:2;22784:9;22775:7;22771:23;22767:32;22764:52;;;22812:1;22809;22802:12;22764:52;22835:28;22853:9;22835:28;:::i;22874:521::-;22951:4;22957:6;23017:11;23004:25;23111:2;23107:7;23096:8;23080:14;23076:29;23072:43;23052:18;23048:68;23038:96;;23130:1;23127;23120:12;23038:96;23157:33;;23209:20;;;-1:-1:-1;;;;;;23241:30:84;;23238:50;;;23284:1;23281;23274:12;23238:50;23317:4;23305:17;;-1:-1:-1;23348:14:84;23344:27;;;23334:38;;23331:58;;;23385:1;23382;23375:12;23400:473;23632:3;23670:6;23664:13;23686:66;23745:6;23740:3;23733:4;23725:6;23721:17;23686:66;:::i;:::-;-1:-1:-1;;;23774:16:84;;23799:38;;;-1:-1:-1;23864:2:84;23853:14;;23400:473;-1:-1:-1;23400:473:84:o;23878:380::-;23957:1;23953:12;;;;24000;;;24021:61;;24075:4;24067:6;24063:17;24053:27;;24021:61;24128:2;24120:6;24117:14;24097:18;24094:38;24091:161;;24174:10;24169:3;24165:20;24162:1;24155:31;24209:4;24206:1;24199:15;24237:4;24234:1;24227:15;24263:658;24434:2;24486:21;;;24556:13;;24459:18;;;24578:22;;;24405:4;;24434:2;24657:15;;;;24631:2;24616:18;;;24405:4;24700:195;24714:6;24711:1;24708:13;24700:195;;;24779:13;;-1:-1:-1;;;;;24775:39:84;24763:52;;24870:15;;;;24835:12;;;;24811:1;24729:9;24700:195;;24926:114;25010:4;25003:5;24999:16;24992:5;24989:27;24979:55;;25030:1;25027;25020:12;25045:129;-1:-1:-1;;;;;25123:5:84;25119:30;25112:5;25109:41;25099:69;;25164:1;25161;25154:12;25179:629;25438:25;;;25494:2;25479:18;;25472:34;;;25425:3;25410:19;;25528:20;;25557:29;25528:20;25557:29;:::i;:::-;25633:4;25622:16;25617:2;25602:18;;25595:44;25688:2;25676:15;;25663:29;25701:32;25663:29;25701:32;:::i;:::-;-1:-1:-1;;;;;25773:7:84;25769:32;25764:2;25753:9;25749:18;25742:60;;25179:629;;;;;;:::o;25813:472::-;25909:6;25917;25970:2;25958:9;25949:7;25945:23;25941:32;25938:52;;;25986:1;25983;25976:12;25938:52;26018:9;26012:16;26037:31;26062:5;26037:31;:::i;:::-;26136:2;26121:18;;26115:25;26087:5;;-1:-1:-1;;;;;;26152:30:84;;26149:50;;;26195:1;26192;26185:12;26149:50;26218:61;26271:7;26262:6;26251:9;26247:22;26218:61;:::i;:::-;26208:71;;;25813:472;;;;;:::o;26290:1018::-;26385:6;26416:2;26459;26447:9;26438:7;26434:23;26430:32;26427:52;;;26475:1;26472;26465:12;26427:52;26508:9;26502:16;-1:-1:-1;;;;;26533:6:84;26530:30;26527:50;;;26573:1;26570;26563:12;26527:50;26596:22;;26649:4;26641:13;;26637:27;-1:-1:-1;26627:55:84;;26678:1;26675;26668:12;26627:55;26707:2;26701:9;26729:43;26769:2;26729:43;:::i;:::-;26801:2;26795:9;26813:31;26841:2;26833:6;26813:31;:::i;:::-;26879:18;;;26967:1;26963:10;;;;26955:19;;26951:28;;;26913:15;;;;-1:-1:-1;26991:19:84;;;26988:39;;;27023:1;27020;27013:12;26988:39;27047:11;;;;27067:210;27083:6;27078:3;27075:15;27067:210;;;27156:3;27150:10;27173:31;27198:5;27173:31;:::i;:::-;27217:18;;27100:12;;;;27255;;;;27067:210;;27313:290;27382:6;27435:2;27423:9;27414:7;27410:23;27406:32;27403:52;;;27451:1;27448;27441:12;27403:52;27477:16;;-1:-1:-1;;;;;;27522:32:84;;27512:43;;27502:71;;27569:1;27566;27559:12;27608:271;27698:6;27751:2;27739:9;27730:7;27726:23;27722:32;27719:52;;;27767:1;27764;27757:12;27719:52;27799:9;27793:16;27818:31;27843:5;27818:31;:::i;28170:578::-;-1:-1:-1;;;;;28425:32:84;;28407:51;;28494:2;28489;28474:18;;28467:30;;;28513:18;;28506:34;;;-1:-1:-1;;;;;;28552:31:84;;28549:51;;;28596:1;28593;28586:12;28549:51;28630:6;28627:1;28623:14;28687:6;28679;28674:2;28663:9;28659:18;28646:48;28715:22;;;;28739:2;28711:31;;28170:578;-1:-1:-1;;;;28170:578:84:o;28753:1195::-;28857:6;28888:2;28931;28919:9;28910:7;28906:23;28902:32;28899:52;;;28947:1;28944;28937:12;28899:52;28980:9;28974:16;-1:-1:-1;;;;;29050:2:84;29042:6;29039:14;29036:34;;;29066:1;29063;29056:12;29036:34;29104:6;29093:9;29089:22;29079:32;;29149:7;29142:4;29138:2;29134:13;29130:27;29120:55;;29171:1;29168;29161:12;29120:55;29200:2;29194:9;29222:43;29262:2;29222:43;:::i;:::-;29294:2;29288:9;29306:31;29334:2;29326:6;29306:31;:::i;:::-;29372:18;;;29460:1;29456:10;;;;29448:19;;29444:28;;;29406:15;;;;-1:-1:-1;29484:19:84;;;29481:39;;;29516:1;29513;29506:12;29481:39;29548:2;29544;29540:11;29560:357;29576:6;29571:3;29568:15;29560:357;;;29655:3;29649:10;29691:2;29678:11;29675:19;29672:109;;;29735:1;29764:2;29760;29753:14;29672:109;29806:68;29866:7;29861:2;29847:11;29843:2;29839:20;29835:29;29806:68;:::i;:::-;29794:81;;-1:-1:-1;29895:12:84;;;;29593;;29560:357;;;-1:-1:-1;29936:6:84;28753:1195;-1:-1:-1;;;;;;;;28753:1195:84:o;30642:171::-;30710:6;30749:10;;;30737;;;30733:27;;30772:12;;;30769:38;;;30787:18;;:::i;30818:187::-;30857:1;30883:6;30916:2;30913:1;30909:10;30938:3;30928:37;;30945:18;;:::i;:::-;30983:10;;30979:20;;;;;30818:187;-1:-1:-1;;30818:187:84:o;31010:168::-;31077:6;31103:10;;;31115;;;31099:27;;31138:11;;;31135:37;;;31152:18;;:::i;31183:249::-;31252:6;31305:2;31293:9;31284:7;31280:23;31276:32;31273:52;;;31321:1;31318;31311:12;31273:52;31353:9;31347:16;31372:30;31396:5;31372:30;:::i;31437:277::-;31504:6;31557:2;31545:9;31536:7;31532:23;31528:32;31525:52;;;31573:1;31570;31563:12;31525:52;31605:9;31599:16;31658:5;31651:13;31644:21;31637:5;31634:32;31624:60;;31680:1;31677;31670:12;31844:542;31945:2;31940:3;31937:11;31934:446;;;31981:1;32005:5;32002:1;31995:16;32049:4;32046:1;32036:18;32119:2;32107:10;32103:19;32100:1;32096:27;32090:4;32086:38;32155:4;32143:10;32140:20;32137:47;;;-1:-1:-1;32178:4:84;32137:47;32233:2;32228:3;32224:12;32221:1;32217:20;32211:4;32207:31;32197:41;;32288:82;32306:2;32299:5;32296:13;32288:82;;;32351:17;;;32332:1;32321:13;32288:82;;;32292:3;;;31844:542;;;:::o;32562:1202::-;-1:-1:-1;;;;;32679:3:84;32676:27;32673:53;;;32706:18;;:::i;:::-;32735:93;32824:3;32784:38;32816:4;32810:11;32784:38;:::i;:::-;32778:4;32735:93;:::i;:::-;32854:1;32879:2;32874:3;32871:11;32896:1;32891:615;;;;33550:1;33567:3;33564:93;;;-1:-1:-1;33623:19:84;;;33610:33;33564:93;-1:-1:-1;;32519:1:84;32515:11;;;32511:24;32507:29;32497:40;32543:1;32539:11;;;32494:57;33670:78;;32864:894;;32891:615;31791:1;31784:14;;;31828:4;31815:18;;-1:-1:-1;;32927:17:84;;;33027:9;33049:229;33063:7;33060:1;33057:14;33049:229;;;33152:19;;;33139:33;33124:49;;33259:4;33244:20;;;;33212:1;33200:14;;;;33079:12;33049:229;;;33053:3;33306;33297:7;33294:16;33291:159;;;33430:1;33426:6;33420:3;33414;33411:1;33407:11;33403:21;33399:34;33395:39;33382:9;33377:3;33373:19;33360:33;33356:79;33348:6;33341:95;33291:159;;;33493:1;33487:3;33484:1;33480:11;33476:19;33470:4;33463:33;32864:894;;;32562:1202;;;:::o;33769:1081::-;33949:49;33988:9;33980:6;33949:49;:::i;:::-;33930:4;34017:2;34055;34050;34039:9;34035:18;34028:30;34078:1;34111:6;34105:13;34141:36;34167:9;34141:36;:::i;:::-;34213:6;34208:2;34197:9;34193:18;34186:34;34239:2;34260:1;34292;34281:9;34277:17;34308:1;34303:158;;;;34475:1;34470:354;;;;34270:554;;34303:158;34370:3;34366:8;34355:9;34351:24;34346:2;34335:9;34331:18;34324:52;34448:2;34436:6;34429:14;34422:22;34419:1;34415:30;34404:9;34400:46;34396:55;34389:62;;34303:158;;34470:354;34501:6;34498:1;34491:17;34549:2;34546:1;34536:16;34574:1;34588:180;34602:6;34599:1;34596:13;34588:180;;;34695:14;;34671:17;;;34667:26;;34660:50;34738:16;;;;34617:10;;34588:180;;;34792:17;;34811:2;34788:26;;-1:-1:-1;;34270:554:84;-1:-1:-1;34841:3:84;;33769:1081;-1:-1:-1;;;;;;;;;33769:1081:84:o;34855:902::-;34955:6;35008:2;34996:9;34987:7;34983:23;34979:32;34976:52;;;35024:1;35021;35014:12;34976:52;35057:9;35051:16;-1:-1:-1;;;;;35127:2:84;35119:6;35116:14;35113:34;;;35143:1;35140;35133:12;35113:34;35166:22;;;;35222:4;35204:16;;;35200:27;35197:47;;;35240:1;35237;35230:12;35197:47;35273:4;35267:11;35317:4;35309:6;35305:17;35372:6;35360:10;35357:22;35352:2;35340:10;35337:18;35334:46;35331:72;;;35383:18;;:::i;:::-;35419:4;35412:24;35458:9;;35496:3;35486:14;;35476:42;;35514:1;35511;35504:12;35476:42;35527:21;;35587:2;35579:11;;35573:18;35603:16;;;35600:36;;;35632:1;35629;35622:12;35600:36;35669:56;35717:7;35706:8;35702:2;35698:17;35669:56;:::i;:::-;35664:2;35652:15;;35645:81;-1:-1:-1;35656:6:84;34855:902;-1:-1:-1;;;;;34855:902:84:o;35762:179::-;35797:3;35839:1;35821:16;35818:23;35815:120;;;35885:1;35882;35879;35864:23;-1:-1:-1;35922:1:84;35916:8;35911:3;35907:18;35815:120;35762:179;:::o;35946:671::-;35985:3;36027:4;36009:16;36006:26;36003:39;;;35946:671;:::o;36003:39::-;36069:2;36063:9;-1:-1:-1;;36134:16:84;36130:25;;36127:1;36063:9;36106:50;36185:4;36179:11;36209:16;-1:-1:-1;;;;;36315:2:84;36308:4;36300:6;36296:17;36293:25;36288:2;36280:6;36277:14;36274:45;36271:58;;;36322:5;;;;;35946:671;:::o;36271:58::-;36359:6;36353:4;36349:17;36338:28;;36395:3;36389:10;36422:2;36414:6;36411:14;36408:27;;;36428:5;;;;;;35946:671;:::o;36408:27::-;36512:2;36493:16;36487:4;36483:27;36479:36;36472:4;36463:6;36458:3;36454:16;36450:27;36447:69;36444:82;;;36519:5;;;;;;35946:671;:::o;36444:82::-;36535:57;36586:4;36577:6;36569;36565:19;36561:30;36555:4;36535:57;:::i;:::-;-1:-1:-1;36608:3:84;;35946:671;-1:-1:-1;;;;;35946:671:84:o;36622:449::-;-1:-1:-1;;;36879:3:84;36872:32;36854:3;36933:6;36927:13;36949:75;37017:6;37012:2;37007:3;37003:12;36996:4;36988:6;36984:17;36949:75;:::i;:::-;37044:16;;;;37062:2;37040:25;;36622:449;-1:-1:-1;;36622:449:84:o;37076:182::-;-1:-1:-1;;;;;37183:10:84;;;37195;;;37179:27;;37218:11;;;37215:37;;;37232:18;;:::i;37866:767::-;38155:6;38144:9;38137:25;38198:3;38193:2;38182:9;38178:18;38171:31;38239:6;38233:3;38222:9;38218:19;38211:35;38297:6;38289;38283:3;38272:9;38268:19;38255:49;38354:1;38348:3;38339:6;38328:9;38324:22;38320:32;38313:43;38118:4;38415:2;38411:7;38406:2;38398:6;38394:15;38390:29;38379:9;38375:45;38456:6;38451:2;38440:9;38436:18;38429:34;38499:6;38494:2;38483:9;38479:18;38472:34;38567:3;38555:9;38551:2;38547:18;38543:28;38537:3;38526:9;38522:19;38515:57;38589:38;38622:3;38618:2;38614:12;38606:6;38589:38;:::i;:::-;38581:46;37866:767;-1:-1:-1;;;;;;;;;37866:767:84:o;38638:245::-;38696:6;38749:2;38737:9;38728:7;38724:23;38720:32;38717:52;;;38765:1;38762;38755:12;38717:52;38804:9;38791:23;38823:30;38847:5;38823:30;:::i;38888:243::-;38945:6;38998:2;38986:9;38977:7;38973:23;38969:32;38966:52;;;39014:1;39011;39004:12;38966:52;39053:9;39040:23;39072:29;39095:5;39072:29;:::i;39136:135::-;39175:3;39196:17;;;39193:43;;39216:18;;:::i;:::-;-1:-1:-1;39263:1:84;39252:13;;39136:135::o;39276:542::-;39445:5;39432:19;39460:31;39483:7;39460:31;:::i;:::-;39523:4;39514:7;39510:18;39500:28;;39553:4;39547:11;39602:2;39595:3;39591:8;39587:2;39583:17;39580:25;39574:4;39567:39;39654:2;39647:5;39643:14;39630:28;39667:32;39691:7;39667:32;:::i;:::-;39789:20;39779:7;39776:1;39772:15;39768:42;39763:2;-1:-1:-1;;;;;39735:25:84;39731:2;39727:34;39724:42;39721:90;39715:4;39708:104;;;;39276:542;;:::o;39823:257::-;-1:-1:-1;;;;;39944:10:84;;;39956;;;39940:27;39987:20;;;;39894:18;40026:24;;;40016:58;;40054:18;;:::i;:::-;40016:58;;39823:257;;;;:::o;40085:779::-;40132:3;40176:5;40170:12;40203:4;40198:3;40191:17;40245:12;40239:19;40290:4;40283;40278:3;40274:14;40267:28;40316:47;40358:3;40353;40349:13;40333:14;40316:47;:::i;:::-;40304:59;;40418:4;40404:12;40400:23;40394:30;40388:3;40383;40379:13;40372:53;40486:4;40478;40471:5;40467:16;40461:23;40457:34;40450:4;40445:3;40441:14;40434:58;40553:4;40545;40538:5;40534:16;40528:23;40524:34;40517:4;40512:3;40508:14;40501:58;40620:4;40612;40605:5;40601:16;40595:23;40591:34;40584:4;40579:3;40575:14;40568:58;40674:4;40667:5;40663:16;40657:23;40635:45;;-1:-1:-1;;;;;40769:2:84;40753:14;40749:23;40742:4;40737:3;40733:14;40726:47;40834:2;40826:4;40819:5;40815:16;40809:23;40805:32;40798:4;40793:3;40789:14;40782:56;;40854:4;40847:11;;;;40085:779;;;;:::o;40869:679::-;41202:6;41191:9;41184:25;-1:-1:-1;;;;;41249:6:84;41245:31;41240:2;41229:9;41225:18;41218:59;41313:6;41308:2;41297:9;41293:18;41286:34;41356:6;41351:2;41340:9;41336:18;41329:34;41372:61;41428:3;41417:9;41413:19;41405:6;41372:61;:::i;:::-;41470:3;41464;41453:9;41449:19;41442:32;41165:4;41491:51;41537:3;41526:9;41522:19;41514:6;41491:51;:::i;:::-;41483:59;40869:679;-1:-1:-1;;;;;;;;40869:679:84:o;41553:561::-;41838:6;41827:9;41820:25;-1:-1:-1;;;;;41885:6:84;41881:31;41876:2;41865:9;41861:18;41854:59;41949:6;41944:2;41933:9;41929:18;41922:34;41992:6;41987:2;41976:9;41972:18;41965:34;42036:3;42030;42019:9;42015:19;42008:32;41801:4;42057:51;42103:3;42092:9;42088:19;42080:6;42057:51;:::i;42119:128::-;42186:9;;;42207:11;;;42204:37;;;42221:18;;:::i;42252:1341::-;42376:3;42370:10;-1:-1:-1;;;;;42395:6:84;42392:30;42389:56;;;42425:18;;:::i;:::-;42454:96;42543:6;42503:38;42535:4;42529:11;42503:38;:::i;:::-;42497:4;42454:96;:::i;:::-;42605:4;;42662:2;42651:14;;42679:1;42674:662;;;;43380:1;43397:6;43394:89;;;-1:-1:-1;43449:19:84;;;43443:26;43394:89;-1:-1:-1;;32519:1:84;32515:11;;;32511:24;32507:29;32497:40;32543:1;32539:11;;;32494:57;43496:81;;42644:943;;42674:662;31791:1;31784:14;;;31828:4;31815:18;;-1:-1:-1;;42710:20:84;;;42827:236;42841:7;42838:1;42835:14;42827:236;;;42930:19;;;42924:26;42909:42;;43022:27;;;;42990:1;42978:14;;;;42857:19;;42827:236;;;42831:3;43091:6;43082:7;43079:19;43076:201;;;43152:19;;;43146:26;-1:-1:-1;;43235:1:84;43231:14;;;43247:3;43227:24;43223:37;43219:42;43204:58;43189:74;;43076:201;-1:-1:-1;;;;;43323:1:84;43307:14;;;43303:22;43290:36;;-1:-1:-1;42252:1341:84:o;43869:180::-;-1:-1:-1;;;;;43974:10:84;;;43986;;;43970:27;;44009:11;;;44006:37;;;44023:18;;:::i;44245:112::-;44277:1;44303;44293:35;;44308:18;;:::i;:::-;-1:-1:-1;44342:9:84;;44245:112::o;44770:151::-;44860:4;44853:12;;;44839;;;44835:31;;44878:14;;44875:40;;;44895:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./WitnetMockedRequestBytecodes.sol\";\r\nimport \"./WitnetMockedRequestFactory.sol\";\r\nimport \"../core/defaults/WitnetOracleTrustableDefault.sol\";\r\n\r\nimport \"./WitnetMockedPriceFeeds.sol\";\r\nimport \"./WitnetMockedRandomness.sol\";\r\n\r\n/// @title Mocked implementation of `WitnetOracle`.\r\n/// @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \r\n/// @dev ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE \r\n/// @dev THE `WitnetOracle` CONTRACT ADDRESS PROVIDED \r\n/// @dev BY THE WITNET FOUNDATION.\r\ncontract WitnetMockedOracle\r\n    is\r\n        WitnetOracleTrustableDefault\r\n{\r\n    WitnetRequestFactory private __factory;\r\n\r\n    constructor(WitnetMockedRequestBytecodes _registry) \r\n        WitnetOracleTrustableDefault(\r\n            WitnetRequestFactory(address(0)), \r\n            WitnetRequestBytecodes(address(_registry)),\r\n            false,\r\n            bytes32(\"mocked\"),\r\n            60000, 65000, 70000, 20000\r\n        )\r\n    {\r\n        address[] memory _reporters = new address[](1);\r\n        _reporters[0] = msg.sender;\r\n        __setReporters(_reporters);\r\n    }\r\n\r\n    function factory() override public view returns (WitnetRequestFactory) {\r\n        return __factory;\r\n    }\r\n\r\n    function setFactory(WitnetMockedRequestFactory _factory) external onlyOwner {\r\n        __factory = WitnetRequestFactory(address(_factory)); \r\n    }\r\n} ",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\mocks\\WitnetMockedOracle.sol",
  "ast": {
    "absolutePath": "project:/contracts/mocks/WitnetMockedOracle.sol",
    "exportedSymbols": {
      "Clonable": [
        24003
      ],
      "Context": [
        509
      ],
      "ERC165": [
        602
      ],
      "IERC165": [
        614
      ],
      "IERC20": [
        479
      ],
      "IERC2362": [
        630
      ],
      "IFeeds": [
        12784
      ],
      "IWitnetConsumer": [
        12829
      ],
      "IWitnetFeeds": [
        13008
      ],
      "IWitnetFeedsAdmin": [
        13092
      ],
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetOracleReporter": [
        13398
      ],
      "IWitnetPriceFeeds": [
        13440
      ],
      "IWitnetPriceSolver": [
        13485
      ],
      "IWitnetPriceSolverDeployer": [
        13514
      ],
      "IWitnetRandomness": [
        13639
      ],
      "IWitnetRandomnessAdmin": [
        13677
      ],
      "IWitnetRandomnessEvents": [
        13696
      ],
      "IWitnetRequestBoardAdminACLs": [
        13758
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Initializable": [
        253
      ],
      "Ownable": [
        401
      ],
      "Ownable2Step": [
        24094
      ],
      "Payable": [
        24145
      ],
      "Proxiable": [
        24189
      ],
      "ReentrancyGuard": [
        578
      ],
      "Slices": [
        15980
      ],
      "Upgradeable": [
        24304
      ],
      "UsingWitnet": [
        1157
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetEncodingLib": [
        22450
      ],
      "WitnetErrorsLib": [
        23206
      ],
      "WitnetFeeds": [
        704
      ],
      "WitnetMockedOracle": [
        23735
      ],
      "WitnetMockedPriceFeeds": [
        23759
      ],
      "WitnetMockedRandomness": [
        23780
      ],
      "WitnetMockedRequestBytecodes": [
        23799
      ],
      "WitnetMockedRequestFactory": [
        23833
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetOracleDataLib": [
        12396
      ],
      "WitnetOracleTrustableBase": [
        6817
      ],
      "WitnetOracleTrustableDefault": [
        7013
      ],
      "WitnetPriceFeeds": [
        772
      ],
      "WitnetPriceFeedsData": [
        12523
      ],
      "WitnetPriceFeedsDefault": [
        9169
      ],
      "WitnetPriceFeedsLib": [
        23444
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRandomness": [
        794
      ],
      "WitnetRandomnessV2": [
        3137
      ],
      "WitnetRequest": [
        826
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestBytecodesData": [
        12657
      ],
      "WitnetRequestBytecodesDefault": [
        10471
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetRequestFactoryData": [
        12738
      ],
      "WitnetRequestFactoryDefault": [
        12012
      ],
      "WitnetRequestTemplate": [
        1005
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 23736,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 23642,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:71"
      },
      {
        "id": 23643,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "68:33:71"
      },
      {
        "absolutePath": "project:/contracts/mocks/WitnetMockedRequestBytecodes.sol",
        "file": "./WitnetMockedRequestBytecodes.sol",
        "id": 23644,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23736,
        "sourceUnit": 23800,
        "src": "105:44:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/mocks/WitnetMockedRequestFactory.sol",
        "file": "./WitnetMockedRequestFactory.sol",
        "id": 23645,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23736,
        "sourceUnit": 23834,
        "src": "151:42:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol",
        "file": "../core/defaults/WitnetOracleTrustableDefault.sol",
        "id": 23646,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23736,
        "sourceUnit": 7014,
        "src": "195:59:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/mocks/WitnetMockedPriceFeeds.sol",
        "file": "./WitnetMockedPriceFeeds.sol",
        "id": 23647,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23736,
        "sourceUnit": 23760,
        "src": "258:38:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/mocks/WitnetMockedRandomness.sol",
        "file": "./WitnetMockedRandomness.sol",
        "id": 23648,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23736,
        "sourceUnit": 23781,
        "src": "298:38:71",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 23650,
              "name": "WitnetOracleTrustableDefault",
              "nameLocations": [
                "644:28:71"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7013,
              "src": "644:28:71"
            },
            "id": 23651,
            "nodeType": "InheritanceSpecifier",
            "src": "644:28:71"
          }
        ],
        "canonicalName": "WitnetMockedOracle",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 23649,
          "nodeType": "StructuredDocumentation",
          "src": "340:259:71",
          "text": "@title Mocked implementation of `WitnetOracle`.\n @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \n @dev ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE \n @dev THE `WitnetOracle` CONTRACT ADDRESS PROVIDED \n @dev BY THE WITNET FOUNDATION."
        },
        "fullyImplemented": true,
        "id": 23735,
        "linearizedBaseContracts": [
          23735,
          7013,
          6817,
          24145,
          13758,
          13398,
          749,
          13315,
          13265,
          3887,
          578,
          24304,
          24189,
          253,
          24094,
          401,
          509
        ],
        "name": "WitnetMockedOracle",
        "nameLocation": "608:18:71",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 23654,
            "mutability": "mutable",
            "name": "__factory",
            "nameLocation": "710:9:71",
            "nodeType": "VariableDeclaration",
            "scope": 23735,
            "src": "681:38:71",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
              "typeString": "contract WitnetRequestFactory"
            },
            "typeName": {
              "id": 23653,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 23652,
                "name": "WitnetRequestFactory",
                "nameLocations": [
                  "681:20:71"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 880,
                "src": "681:20:71"
              },
              "referencedDeclaration": 880,
              "src": "681:20:71",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                "typeString": "contract WitnetRequestFactory"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 23705,
              "nodeType": "Block",
              "src": "1033:139:71",
              "statements": [
                {
                  "assignments": [
                    23687
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 23687,
                      "mutability": "mutable",
                      "name": "_reporters",
                      "nameLocation": "1061:10:71",
                      "nodeType": "VariableDeclaration",
                      "scope": 23705,
                      "src": "1044:27:71",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 23685,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1044:7:71",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 23686,
                        "nodeType": "ArrayTypeName",
                        "src": "1044:9:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 23693,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 23691,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1088:1:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "id": 23690,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "1074:13:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (address[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 23688,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1078:7:71",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 23689,
                        "nodeType": "ArrayTypeName",
                        "src": "1078:9:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      }
                    },
                    "id": 23692,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1074:16:71",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1044:46:71"
                },
                {
                  "expression": {
                    "id": 23699,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 23694,
                        "name": "_reporters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23687,
                        "src": "1101:10:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 23696,
                      "indexExpression": {
                        "hexValue": "30",
                        "id": 23695,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1112:1:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1101:13:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 23697,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967281,
                        "src": "1117:3:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 23698,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1121:6:71",
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "src": "1117:10:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1101:26:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 23700,
                  "nodeType": "ExpressionStatement",
                  "src": "1101:26:71"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 23702,
                        "name": "_reporters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23687,
                        "src": "1153:10:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      ],
                      "id": 23701,
                      "name": "__setReporters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6771,
                      "src": "1138:14:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory)"
                      }
                    },
                    "id": 23703,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1138:26:71",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 23704,
                  "nodeType": "ExpressionStatement",
                  "src": "1138:26:71"
                }
              ]
            },
            "id": 23706,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 23663,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "862:1:71",
                            "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": 23662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "854:7:71",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 23661,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "854:7:71",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 23664,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "854:10:71",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 23660,
                      "name": "WitnetRequestFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 880,
                      "src": "833:20:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_WitnetRequestFactory_$880_$",
                        "typeString": "type(contract WitnetRequestFactory)"
                      }
                    },
                    "id": 23665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "833:32:71",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 23669,
                            "name": "_registry",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23657,
                            "src": "912:9:71",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitnetMockedRequestBytecodes_$23799",
                              "typeString": "contract WitnetMockedRequestBytecodes"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_WitnetMockedRequestBytecodes_$23799",
                              "typeString": "contract WitnetMockedRequestBytecodes"
                            }
                          ],
                          "id": 23668,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "904:7:71",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 23667,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "904:7:71",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 23670,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "904:18:71",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 23666,
                      "name": "WitnetRequestBytecodes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 849,
                      "src": "881:22:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_WitnetRequestBytecodes_$849_$",
                        "typeString": "type(contract WitnetRequestBytecodes)"
                      }
                    },
                    "id": 23671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "881:42:71",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  {
                    "hexValue": "66616c7365",
                    "id": 23672,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "938:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  {
                    "arguments": [
                      {
                        "hexValue": "6d6f636b6564",
                        "id": 23675,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "966:8:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e385749a52c998acbcd163abd961c0cb4852c98474cd240ce6dc57348eba4bd1",
                          "typeString": "literal_string \"mocked\""
                        },
                        "value": "mocked"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_e385749a52c998acbcd163abd961c0cb4852c98474cd240ce6dc57348eba4bd1",
                          "typeString": "literal_string \"mocked\""
                        }
                      ],
                      "id": 23674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "958:7:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes32_$",
                        "typeString": "type(bytes32)"
                      },
                      "typeName": {
                        "id": 23673,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "958:7:71",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 23676,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "958:17:71",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "hexValue": "3630303030",
                    "id": 23677,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "990:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_60000_by_1",
                      "typeString": "int_const 60000"
                    },
                    "value": "60000"
                  },
                  {
                    "hexValue": "3635303030",
                    "id": 23678,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "997:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_65000_by_1",
                      "typeString": "int_const 65000"
                    },
                    "value": "65000"
                  },
                  {
                    "hexValue": "3730303030",
                    "id": 23679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1004:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_70000_by_1",
                      "typeString": "int_const 70000"
                    },
                    "value": "70000"
                  },
                  {
                    "hexValue": "3230303030",
                    "id": 23680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1011:5:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_20000_by_1",
                      "typeString": "int_const 20000"
                    },
                    "value": "20000"
                  }
                ],
                "id": 23681,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 23659,
                  "name": "WitnetOracleTrustableDefault",
                  "nameLocations": [
                    "790:28:71"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 7013,
                  "src": "790:28:71"
                },
                "nodeType": "ModifierInvocation",
                "src": "790:237:71"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23658,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23657,
                  "mutability": "mutable",
                  "name": "_registry",
                  "nameLocation": "769:9:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 23706,
                  "src": "740:38:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetMockedRequestBytecodes_$23799",
                    "typeString": "contract WitnetMockedRequestBytecodes"
                  },
                  "typeName": {
                    "id": 23656,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 23655,
                      "name": "WitnetMockedRequestBytecodes",
                      "nameLocations": [
                        "740:28:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23799,
                      "src": "740:28:71"
                    },
                    "referencedDeclaration": 23799,
                    "src": "740:28:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetMockedRequestBytecodes_$23799",
                      "typeString": "contract WitnetMockedRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "739:40:71"
            },
            "returnParameters": {
              "id": 23682,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1033:0:71"
            },
            "scope": 23735,
            "src": "728:444:71",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5186
            ],
            "body": {
              "id": 23715,
              "nodeType": "Block",
              "src": "1251:35:71",
              "statements": [
                {
                  "expression": {
                    "id": 23713,
                    "name": "__factory",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 23654,
                    "src": "1269:9:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "functionReturnParameters": 23712,
                  "id": 23714,
                  "nodeType": "Return",
                  "src": "1262:16:71"
                }
              ]
            },
            "functionSelector": "c45a0155",
            "id": 23716,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nameLocation": "1189:7:71",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 23708,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1199:8:71"
            },
            "parameters": {
              "id": 23707,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1196:2:71"
            },
            "returnParameters": {
              "id": 23712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23711,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 23716,
                  "src": "1229:20:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 23710,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 23709,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "1229:20:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "1229:20:71"
                    },
                    "referencedDeclaration": 880,
                    "src": "1229:20:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:22:71"
            },
            "scope": 23735,
            "src": "1180:106:71",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 23733,
              "nodeType": "Block",
              "src": "1370:71:71",
              "statements": [
                {
                  "expression": {
                    "id": 23731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 23724,
                      "name": "__factory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 23654,
                      "src": "1381:9:71",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                        "typeString": "contract WitnetRequestFactory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "id": 23728,
                              "name": "_factory",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23719,
                              "src": "1422:8:71",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_WitnetMockedRequestFactory_$23833",
                                "typeString": "contract WitnetMockedRequestFactory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_WitnetMockedRequestFactory_$23833",
                                "typeString": "contract WitnetMockedRequestFactory"
                              }
                            ],
                            "id": 23727,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1414:7:71",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 23726,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1414:7:71",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 23729,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1414:17:71",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 23725,
                        "name": "WitnetRequestFactory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 880,
                        "src": "1393:20:71",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetRequestFactory_$880_$",
                          "typeString": "type(contract WitnetRequestFactory)"
                        }
                      },
                      "id": 23730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1393:39:71",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                        "typeString": "contract WitnetRequestFactory"
                      }
                    },
                    "src": "1381:51:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "id": 23732,
                  "nodeType": "ExpressionStatement",
                  "src": "1381:51:71"
                }
              ]
            },
            "functionSelector": "5bb47808",
            "id": 23734,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 23722,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 23721,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "1360:9:71"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 312,
                  "src": "1360:9:71"
                },
                "nodeType": "ModifierInvocation",
                "src": "1360:9:71"
              }
            ],
            "name": "setFactory",
            "nameLocation": "1303:10:71",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23720,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23719,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nameLocation": "1341:8:71",
                  "nodeType": "VariableDeclaration",
                  "scope": 23734,
                  "src": "1314:35:71",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetMockedRequestFactory_$23833",
                    "typeString": "contract WitnetMockedRequestFactory"
                  },
                  "typeName": {
                    "id": 23718,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 23717,
                      "name": "WitnetMockedRequestFactory",
                      "nameLocations": [
                        "1314:26:71"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23833,
                      "src": "1314:26:71"
                    },
                    "referencedDeclaration": 23833,
                    "src": "1314:26:71",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetMockedRequestFactory_$23833",
                      "typeString": "contract WitnetMockedRequestFactory"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1313:37:71"
            },
            "returnParameters": {
              "id": 23723,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1370:0:71"
            },
            "scope": 23735,
            "src": "1294:147:71",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 23736,
        "src": "599:845:71",
        "usedErrors": [
          16,
          19,
          267,
          272,
          523,
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": [
          24,
          278,
          13278,
          13285,
          13294,
          13307,
          13314,
          13397,
          13730,
          13735,
          24023,
          24106,
          24112,
          24232
        ]
      }
    ],
    "src": "35:1410:71"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.627Z",
  "devdoc": {
    "details": "TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE THE `WitnetOracle` CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.",
    "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": {
      "acceptOwnership()": {
        "details": "The new owner accepts the ownership transfer."
      },
      "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."
      },
      "estimateBaseFee(uint256,bytes32)": {
        "details": "Underestimates if the size of returned data is greater than `resultMaxSize`. ",
        "params": {
          "gasPrice": "Expected gas price to pay upon posting the data request.",
          "radHash": "The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry."
        }
      },
      "estimateBaseFee(uint256,uint16)": {
        "details": "Underestimates if the size of returned data is greater than `_resultMaxSize`. ",
        "params": {
          "_gasPrice": "Expected gas price to pay upon posting the data request.",
          "_resultMaxSize": "Maximum expected size of returned data (in bytes)."
        }
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "params": {
          "_callbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_gasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "extractWitnetDataRequests(uint256[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "_queryIds": "Query identifies."
        }
      },
      "fetchQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryRequest(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier"
        }
      },
      "getQueryResponseStatus(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultCborBytes(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultError(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isReporter(address)": {
        "params": {
          "_reporter": "The address to be checked."
        }
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "pendingOwner()": {
        "details": "Returns the address of the pending owner."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "details": "Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.",
        "params": {
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain.",
          "_queryUnverifiedBytecode": "The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "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."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "_witnetQueryId": "The unique identifier of the data request.",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.",
        "params": {
          "_witnetQueryId": "The unique query identifier",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.",
          "_witnetQueryResultTimestamp": "Timestamp at which the reported value was captured by the Witnet blockchain. "
        }
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "details": "Fails only if called from unauthorized address.",
        "params": {
          "_batchResults": "Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes."
        }
      },
      "setReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersSet` event. ",
        "params": {
          "_reporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "transferOwnership(address)": {
        "details": "Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."
      },
      "unsetReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersUnset` event. ",
        "params": {
          "_exReporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "upgradeQueryEvmReward(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Posted' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      }
    },
    "title": "Mocked implementation of `WitnetOracle`.",
    "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": {
      "estimateBaseFee(uint256,bytes32)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,uint16)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "notice": "Estimate the minimum reward required for posting a data request with a callback."
      },
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings."
      },
      "extractWitnetDataRequests(uint256[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries."
      },
      "fetchQueryResponse(uint256)": {
        "notice": "Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."
      },
      "getNextQueryId()": {
        "notice": "Returns next query id to be generated by the Witnet Request Board."
      },
      "getQuery(uint256)": {
        "notice": "Gets the whole Query data contents, if any, no matter its current status."
      },
      "getQueryEvmReward(uint256)": {
        "notice": "Gets the current EVM reward the report can claim, if not done yet."
      },
      "getQueryRequest(uint256)": {
        "notice": "Retrieves the RAD hash and SLA parameters of the given query."
      },
      "getQueryResponse(uint256)": {
        "notice": "Retrieves the Witnet-provable result, and metadata, to a previously posted request.    "
      },
      "getQueryResponseStatus(uint256)": {
        "notice": "Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue."
      },
      "getQueryResultCborBytes(uint256)": {
        "notice": "Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query."
      },
      "getQueryResultError(uint256)": {
        "notice": "Gets error code identifying some possible failure on the resolution of the given query."
      },
      "getQueryStatus(uint256)": {
        "notice": "Gets current status of given query."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isReporter(address)": {
        "notice": "Tells whether given address is included in the active reporters control list."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request."
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result."
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request. "
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request."
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report."
      },
      "setReporters(address[])": {
        "notice": "Adds given addresses to the active reporters control list."
      },
      "unsetReporters(address[])": {
        "notice": "Removes given addresses from the active reporters control list."
      },
      "upgradeQueryEvmReward(uint256)": {
        "notice": "Increments the reward of a previously posted request by adding the transaction value to it."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "version": 1
  }
}